valeratech/ryanvalera-com
GitHub: valeratech/ryanvalera-com
以个人作品集静态站点为载体,演示 Cloudflare 平台工程实践的双源负载均衡基础设施项目,核心是多源故障转移架构与完整运维文档。
Stars: 0 | Forks: 0
# ryanvalera-com
Ryan Valera 的个人作品集平台 —— 医疗影像 IT 工程师。
**在线站点:** [ryanvalera.com](https://ryanvalera.com)
## 本仓库的用途
本仓库具有两个不同的用途:
**1. 作品集站点本身**
这是一个静态的双页面站点,展示了 Ryan Valera 的医疗影像 IT 工程背景 —— DICOM 系统、PACS 架构、Linux 管理、临床互操作性以及基础设施运维。
**2. Cloudflare 平台工程演示**
支持该站点的基础设施展示了真实的 Cloudflare 平台工程实践:DNS、SSL/TLS、CDN 边缘缓存、WAF、机器人防护、速率限制、带有多个源故障转移的负载均衡、Transform Rules 以及运维文档。站点本身是 payload。基础设施才是这个项目的核心。
## 架构
```
Visitor
↓
Cloudflare (DNS / Proxy / SSL / WAF / Cache / Load Balancer)
├── Primary: GitHub Pages (valeratech.github.io)
└── Secondary: Cloudflare Pages (pages.ryanvalera.com)
```
两个源均从本仓库提供相同的内容。Cloudflare 负载均衡每 60 秒执行一次健康检查,如果主源变得不健康,它会自动故障转移到备用源。
## 站点结构
```
ryanvalera-com/
├── index.html ← Landing page (Professional Select character screen)
├── profile.html ← Professional dossier (Healthcare Imaging IT Engineer)
├── CNAME ← Custom domain configuration for GitHub Pages
│
├── assets/
│ ├── css/
│ │ ├── variables.css ← Design tokens
│ │ ├── styles.css ← Landing page styles
│ │ └── profile.css ← Dossier styles
│ ├── js/
│ │ └── landing.js ← Landing page interactivity
│ └── images/
│ └── ryan-valera-profile.png
│
└── docs/
├── architecture.md ← Full platform architecture
├── cloudflare.md ← Cloudflare configuration reference
├── cache-governance.md ← Cache policy and CI/CD invalidation roadmap
├── analytics-baseline.md ← First 24-hour traffic and security observations
├── deferred-enhancements.md ← Phase 3 UX polish and R2 future phase
├── decisions/
│ ├── ADR-001.md ← Cloudflare as shared control plane
│ ├── ADR-002.md ← Cloudflare Pages as secondary origin
│ ├── ADR-003.md ← GitHub Pages as primary origin
│ ├── ADR-004.md ← Why Load Balancing was implemented
│ └── ADR-005.md ← Cloudflare R2 future phase
└── runbooks/
├── github-pages.md ← GitHub Pages deployment runbook
└── load-balancer.md ← Load Balancer configuration and failover test results
```
## Cloudflare 平台组件
| 组件 | 状态 | 备注 |
|---|---|---|
| DNS (Authoritative) | ✅ 激活 | curt.ns / georgia.ns.cloudflare.com |
| 代理 / CDN | ✅ 激活 | 橙云,LAX 边缘节点 |
| SSL/TLS Full Strict | ✅ 激活 | TLS 1.3,最低 TLS 1.2 |
| Always Use HTTPS | ✅ 激活 | |
| Transform Rules | ✅ 激活 | 指纹移除 + 安全响应头 |
| 缓存规则 | ✅ 激活 | /assets/* — 边缘缓存 1 个月,浏览器缓存 7 天 |
| Bot Fight Mode | ✅ 激活 | |
| 屏蔽 AI 机器人 | ✅ 激活 | |
| 速率限制 | ✅ 激活 | 40 请求/10秒,阻止 |
| WAF 托管规则 | ⚠️ 免费版 | 已激活基线防护 |
| 负载均衡 | ✅ 激活 | 故障转移导向,60秒健康检查 |
| 健康监控 | ✅ 激活 | HTTPS GET /,200-OK + 正文验证 |
| Cloudflare Pages | ✅ 激活 | 备用故障转移源 |
| HSTS | ⏳ 延后 | 确认完全稳定后启用 |
| Content-Security-Policy | ⏳ 延后 | 需要进行资产来源盘点 |
| GitHub Actions CI/CD | ⏳ 计划中 | 里程碑 6E |
| Cloudflare R2 | ⏳ 未来计划 | media.ryanvalera.com — 里程碑 6D 之后 |
## 部署
每次向 `main` 分支推送时,站点都会自动部署:
```
git push → main
↓
GitHub Pages (primary origin) — automatic
↓
Cloudflare Pages (secondary origin) — automatic
↓
Cloudflare cache purge — manual (CI/CD automation planned)
```
**在线 URL:**
```
https://ryanvalera.com ← Production (Load Balancer)
https://valeratech.github.io/ryanvalera-com/ ← GitHub Pages direct
https://ryanvalera-com.pages.dev ← Cloudflare Pages direct
https://pages.ryanvalera.com ← Cloudflare Pages custom domain
```
## 文档
| 文档 | 描述 |
|---|---|
| `docs/architecture.md` | 完整的平台架构和组件表 |
| `docs/cloudflare.md` | Cloudflare 配置参考(所有 6B 设置) |
| `docs/cache-governance.md` | 缓存策略、清除程序、CI/CD 路线图 |
| `docs/analytics-baseline.md` | 前 24 小时的流量和安全观测数据 |
| `docs/runbooks/load-balancer.md` | 负载均衡器配置和故障转移测试结果 |
| `docs/runbooks/github-pages.md` | GitHub Pages 部署操作手册 |
| `docs/decisions/ADR-001 through 005` | 架构决策记录 |
## 认证
- CompTIA Security+
- Cloudflare Accredited Configuration Engineer
- CompTIA CySA+ (Cybersecurity Analyst)
- Blue Team Level 1 (BTL1)
- Red Sift Elite Sifter Implementation Expert (DMARC)
- Red Sift Elite Sifter Solutions Expert (Email Security)
标签:Cloudflare, MITRE ATT&CK, 个人作品集, 多模态安全, 平台工程, 数据可视化, 负载均衡, 边缘计算, 静态网站