前因是看到这个帖子,想起之前也研究过,后来又是证书问题又是重定向过多又是502等问题,就放弃了
https://www.nodeseek.com/post-182697-2
经大佬提醒解决了证书问题后,大致知道该怎么部署了,正好水个贴(
测试整理的方案如下,仅供参考,有更好的方案欢迎分享

示例:
一个域名:example.com,解析在 cloudflare
使用华为云进行分地区解析(推荐注册新加坡或其他地区海外账户不用实名,腾讯云也行
源站机一台
反代机一台(其实反代机换成 自建/大陆优化 CDN 也一样,只需要把下面 A 解析反代机 ip 换成 CNAME CDN 域名就好
想要尽可能安全的话推荐设置白名单 ip,我反正懒得设(
推荐在源站设置仅反代机 ip、cloudflare ip 还有其他个人常用ip访问
在反代机设置仅源站 ip、大陆 ip 还有其他个人常用 ip 的访问
事先准备
-
cloudflare 上:
vps1.example.com==A=> 源站ip 开启小黄云
cdn.example.com==NS=> 华为云 -
华为云上:
默认/海外:cdn.example.com==CNAME=>vps1.example.com
大陆:cdn.example.com==A=> 反代机ip
假设搭建网站 test.example.com
-
cloudflare 上
test.example.com==CNAME=>cdn.example.com不开小黄云 -
源站正常部署网站到
test.example.com,开启 https,使用 DNS 申请证书 -
反代机同样绑定
test.example.com,开启 https,使用 DNS 申请证书
反代配置如下
其中重点是proxy_ssl_server_name on;和proxy_ssl_name test.example.com;,开启 SNIlocation / { proxy_pass https://源站ip:443; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; add_header X-Cache $upstream_cache_status; add_header Cache-Control no-cache; proxy_ssl_server_name on; proxy_ssl_name test.example.com; }
结语
后续其他网站都像
test.example.com那样部署就好了
反代配置只需要换一下proxy_ssl_name就行
DNS 申请证书可以直接申请泛域名,这样就只需要申请一次(怕泄露源站 ip 就还是一个一个申请,应该不会泄露吧(
@imsnail #6 只要能反代的程序都可以,比如caddy,HAProxy
GeoDNS + CNAME/A/AAAA
大陸 CloudFront,國際 CloudFlare: https://cdn.microcharon.com
@jjfly #10 子域NS没问题的
主域CF
https://dig.ping.pe/ovo.longsays.com:NS:8.8.8.8
https://dig.ping.pe/v6.longsays.com:NS:8.8.8.8
https://dig.ping.pe/v8.longsays.com:NS:8.8.8.8
@jjfly #10 甚至主域在CF,然后把子域NS出去,之后NS出去的子域还能SaaS优选,各种骚操作
bd收藏了可能以後用的上
我是cf saas + dnspod ,感觉用优选网站速度还是不理想,放弃了,国内老实走反代
不需要cloudflare saas?
不错,感谢分享
顶个鸡腿
必须有nginx呢?
自建 CDN
CF 源站指向源站 或者海外节点。
国内 做节点。
这样的好处是,节点性能好很多,且可以缓存。
一个域名接入华为云DNS需要改NS记录,接入CF也需要,直接就冲突了,之前CFpartners可以接入,现在不行了