实现场景
前段时间打算购置一台雨云服务器,看起来宿迁的机子配置不错,但是是NAT机。
这就意味着,内网的80/443无法被公网以默认端口直接访问。(当然也有的NAT机开放共享80/443,这就不需要配置端口转发了)
源服务器
雨云的面板要映射80和443端口,如图。
在宝塔面板按照常规流程建一个网站,我用的是wordpress。
可以使用公网IP/公网域名+80的映射端口(例如20001)进行访问测试。
上传CF的源服务器证书(没有的去申请),并开启强制SSL。理论上现在是不能通过公网+443映射端口访问的,等下进行端口转发配置。
CF端
先将域名绑定到 Cloudflare。
设置DNS域名解析到映射后的公网host,CNAME或者A都行,我用的CNAME,因为雨云的CNAME是支持国际访问的。代理要打开。
CF 转发80端口
简单来说,只转发80端口即可访问网站。因为源站(http)-> CF -> Client(https),CF的flexible SSL/TLS规则帮我们实现了http转https。
不过仍有缺点,很多插件、主题是要求源站使用https的。
配置
宝塔不要开强制SSL。
到CF面板的规则(Rules)板块 -> Origin Rules -> 创建规则
然后在SSL/TLS加密面板将规则设置为灵活即可。
避免在访问时出现521,在SSL/TLS的边缘证书打开“始终使用SSL”。
CF 转发443端口
宝塔开启强制SSL。
CF的Origin Rules中,基于80的模板,设置为 SSL 等于打开,端口填443的映射端口。
CF的SSL/TLS改成Full(Strict)。
完成,可以清下CF缓存。