type
status
date
slug
summary
tags
category
icon
password
📝 前期准备
一、域名
域名是一切的基础,腾讯云、阿里云、华为云等云服务商随便选一家都可以。选择一级域名时注意下续费价格就好,有些域名首年几块钱,第二年续费可就要你命了。。
二、cloudflare Tunnel(可选)
Cloudflare Tunnel是Cloudflare Zero Trust中的一个产品,它能够帮助用户将位于内网中的服务暴露到公网上,从而使得外部用户可以通过互联网访问这些服务。 相比较于frp、ngrok等内网穿透工具,使用Cloudflare Tunnel可以获得更好的安全性和性能。
1.注册cloudflare
在使用前,需要先注册一个Cloudflare账号,然后根据提示添加站点,将域名添加到Cloudflare的DNS服务中,再开通Cloudflare Zero Trust服务,选择免费套餐就可以了。
2.获取 API-Token
为了允许 Traefik 使用 Cloudflare 帐户来验证域是否是您的,需要提供Cloudflare API 令牌。这样 Traefik 就可以自动为你的域名获得 SSL 证书。
- 访问Cloudflare,转到
我的个人资料
,选择API令牌
,然后选择创建令牌
。
- 使用模板
编辑区域 DNS。
- 更改为以下设置,单击
继续以显示摘要
,然后单击创建令牌
。
- 权限:区域 - DNS - 编辑
- 权限:区域 - 区域设置 - 读取
- 权限:区域 - 区域 - 读取
- 区域资源:包括 - 特定区域 - [example.com]
三、Docker环境
我自己使用的是Unraid提供的Docker,如果你在使用单独的Docker,也没有问题。
四、路由器
为了实现内网和外网的一致,可以使用Openwrt的主机名映射功能。
最终实现的效果为:
内网访问:app.domain.com⇒192.168.1.80
外网访问:app.domain.com⇒[公网IP]
其他品牌路由器,可以搜索路由器品牌或型号+自定义Hosts。如果你的路由器不支持此功能,可以自建DNS服务或修改客户端hosts(不推荐)。各位大佬也可各显神通实现类似效果,有其他的方案欢迎评论区互相交流😃。
📎 参考文章
- 作者:Biliko
- 链接:https://biliko.net/article/traefik-part2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章