因为运营商屏蔽的原因,内网主机无法使用80、443端口,国内服务器如果未备案,也是同样待遇,需要使用其他HTTP/HTTPS端口,使用CloudFlare CDN时,回源端口无法直接自定义(Cloudfront可以),需要借助Origin Rules规则的制定来实现。
1.定义与指定源主机
Cloudflare的Origin rules并非URL转发,所以DNS记录中需要一条传入主机(地址栏计划输入的主机名mv.example.eu.org)记录,类型一般采用CNAME,指向目标主机。传入主机和目标主机可以跨域,也可以同域,IPv4/6均可。在传入主机记录上,保持代理状态打开。
2.回源规则制定
进入所需修改域名【规则】-> 【Origin Rules】,创建规则,填入相关内容。
规则名称任意,传入请求中的字段,在列表中选择“主机名”,值为该域名DNS中定义的传入主机名(如mv.example.eu.org)。目标端口"重写到...”定义目标服务器/内网主机实际使用的端口即可。
3.其他
如果目标服务器开启了https,还需要将SSL/TLS 加密模式为 完全(严格),http可保持默认的“灵活”。
同时,如果目标服务器启用了强制https,则需要在cloudflare上同时打开强制https。具体操作仍为【SSL/TLS】->【边缘证书】,打开“始终使用HTTPS”。
这样就可以使用Cloudflare CDN(代理状态打开)的Oringin Rules不加端口号访问主机了。文首已有说明,CLoudfront是可以指定回源端口的,有需要的不妨一试。
同时,也可以使用Cloudflare API创建、编辑源规则,详细用法可见Cloudflare发布、托管于github的「文档-Create an origin rule via API」。
文章评论
设置这个是要办信用卡的吧
@Jopay 设置个不用 :-) 有个Cloudflare账户就行的
请问这去端口的方法还可以用吗,我照这个教程部署后没成功,我域名在DNSPOD那注册的 不需要去那改DNS服务器地址是吗
@paco dnspod不行的 要使用CF CDN,只有流量从CF才有可能对URL进行重写,同时CF CDN也仅限于托管域名