当然Zero Trust的tunnels也挺好,直接转发,也能使用1panel,这个略!
如果只想使用飞牛OS+1Panel的方案,已更新《无添加:飞牛OS+1Panel动态域名解析和反代,并申请ssl证书》
由于工作需求,内网部署了飞牛OS和1Panel,但是外网访问需要动态域名解析,研究了不少,包括比较火的lucky,发现功能虽然很强大,但是配置比较麻烦。
在网页访问域名的时候,http访问的默认是80端口,https默认是443端口。
- 问题一:一般情况下非idc其80和443端口无法使用,也就是说家庭或小型办公室的网络,80和443端口无法使用,所以只能使用其他端口,访问的时候是域名+其他端口的形式
- 问题二:飞牛os占用了内网的80和443端口
- 问题三:使用lucky的时候,需要配置监听一个统一的其他端口,根据访问域名转发到不同的项目端口上
- 问题四:使用lucky的时候,需要手动配置将http重定向至https上,并且每次配置证书后需要重启web服务。
实际上lucky转发和重定向的配置,对我来说就是一个多余的web应用服务器。
由于使用1Panel管理了不少项目,并且域名是托管在Cloudflare上的,那么使用OpenResty,然后再加上Cloudflare的15年证书和端口转发即可(使用证书和端口转发需要开启DNS解析的橙色云朵)。
完全没必要多部署一个服务,再用lucky配置一遍就是自己找麻烦事儿!也因此方案就是现成的!
- 飞牛OS自带管理ddns
- 飞牛安装1panel管理网站项目和反代
- cloudflare进行防护和端口转发
一、DDNS解析至Cloudflare
飞牛OS本身自带DDNS动态解析ipv6至Cloudflare中管理的域名DNS,不用多部署其他的服务。

申请cloudflare的API令牌:https://dash.cloudflare.com/profile/api-tokens

二、1Panel管理站点和转发
打开飞牛中的1Panel,然后安装OpenResty,由于飞牛OS占用了80和443,这里可以改成880、8443,那么在Cloudflare重写端口时可以重写至8443,确保开启https。
fnos部署后,默认对80和443做了重定向,虽然我关闭了,但为了避免冲突,还是没有直接使用80和443。再就是家用本来就有风险,无论是运营商还是外网,避免80和443因不可抗力无法访问的原因,还是选择在OpenResty中替换。

创建网站详见文档
在cloudflare配置好转发后,创建网站和访问管理,就跟在服务器上使用1panel一模一样。
创建网站 - 1Panel 文档 :https://1panel.cn/docs/user_manual/websites/website_create/
建议先创建个静态站测试下是否能成功,这里需要注意的是因为解析的是ipv6,所以创建网站或者反代时,需要把监听ipv6打开,证书部署略。

三、Cloudflare申请证书和重写端口
通过飞牛的ddns解析成功后,默认没有开启橙色小云朵,需要开启。

在cloudflare的Origin Rules,将域名的访问重写至1Panel中OpenResty监听的https端口,这里重写至8443,因为安装的OpenResty的https监听端口自定义成了8443。


cludflare申请证书很简单不说了
直接使用cloudflare的证书

最后总结
此时访问域名的过程就是,浏览器打开域名->经过cloudflare重写至8443->访问到解析的地址->OpenResty作为 Web 应用服务器进行路由或者转发到对应的服务,过程如下:
- 用户请求:当用户在浏览器中输入域名时,浏览器会向DNS服务器发起查询,以获取该域名对应的IP地址。
- DNS解析:由于您的域名托管在Cloudflare上,并且启用了代理模式(橙色云朵),DNS查询会被导向Cloudflare的服务器。Cloudflare会返回一个指向其全球网络中的最接近用户的服务器的IP地址。
- 通过Cloudflare:用户的HTTP或HTTPS请求首先到达Cloudflare的边缘节点。如果配置了页面规则或使用Workers脚本进行端口重写,Cloudflare会将请求的80端口(http)或443端口(https)转换为您的OpenResty监听的端口(如8443)。
- 到目标服务器:Cloudflare将修改后的请求转发给您的内网服务器(飞牛OS)。这里,流量通过DDNS更新的IPv6地址路由到实际的服务器。
- OpenResty处理请求:一旦请求到达运行在非标准端口上的OpenResty,它会根据配置来处理请求,这可能包括静态文件服务、反向代理到后端应用服务器或其他任何Web应用逻辑。
整体上如果不需要隐藏端口的情况下,直接动态解析+端口访问即可,仅需要一个域名的成本。但大多数人更习惯直接访问服务,相较于frp和第三方服务来说,不需要额外的投入和项目部署。
使用1Panel进行统一管理,一是兼容管理了所有站点和服务,二是有访问日志比较方便查看访问情况,三是cloudflare进行防护,避免暴露后被攻击。
当然,更好的还是得整个服务器,目前在用,整体比较稳定且便宜, ColoCrossing,特价VPS低至$10/年,1Gbps带宽,不限流量,有Windows/Linux系统
本文作者:𝙕𝙆𝘾𝙊𝙄
文章名称:三步搭建:飞牛OS + 1Panel + Cloudflare,实现外网HTTPS和去端口访问
文章链接:https://www.zkcoi.com/idea/skills/4052.html
本站资源仅供个人学习和交流,如若转载,请注明出处,详见《免责声明》。
微信扫一扫
支付宝扫一扫

评论列表(14条)
经过cloudflare重写至8443->访问到解析的地址- 这块有端口限制吗,我用的其他端口只有在科学上网的时候可以访问代理后地址
@zheng:重写至8443是因为用了OpenResty,为什么要用1Panel和OpenResty,不直接重写到服务?
实际上,你不想用也可以直接重写到别的服务端口。但直接访问的服务是没有ssl证书的,所以相应的CF的SSL加密模式要改成灵活。
改成灵活模式下CF和源服务器之间是HTTP的,这就导致已经正常部署ssl证书的源服务器与CF通信出现问题,比如ssl证书握手失败无法访问(Error 525)、会形成HTTPS→HTTP的降级链路,存在中间人攻击风险。
也可能会遇到这个错误
通过OpenResty的反向代理,可在源站维持HTTPS加密,使CF的SSL模式可保持”Full”或”Full(strict)”,实现端到端加密。
所以我选择通过1Panel来统一管理包括部署ssl证书和使用OpenResty反代,使用上也和公网服务器体验一样。
博主 请问一下 8443 是nginx监听的端口吗 8443怎么转发到具体部署的应用的?
@123:openResty需要配置SSL证书才行吧?
@123:看你需求,一般配置ssl更好,而且http和https的默认端口不一样,
@123:通过反代
试过了,访问速度太慢了。
能否出一期,通过公网服务器去端口访问nas的教程!
@admin:写过了,有公网服务器考虑直接frp,可以直接部署frp也可以使用docker,绑域名同样反代即可,frp配置参考 https://www.zkcoi.com/365up/program/3163.html
大佬,这个能stun后用么?没有v6[破涕为笑]
@yydsxll:理论上可以,我自己stun穿透有问题,可能是NAT环境复杂,而且stun不行得turn中继,试下来不如frp稳定。
试过了,访问速度太慢了。
这个开启cloudflare代理,会不会网速很慢?
@jason:会的,因为中间多了层