[解决]在NAT背后使用Caddy提供HTTPS服务
在 问题 的最后,我突然想到可以用 frp 代理一个 HTTP 服务出去,这样虽然不能使用 https 的功能,但是起码可以访问其他的基础功能。
于是我做了这个:
发现只能内网访问,通过 frp 代理地址还是不能访问(只有 HTTP ok,没有内容)。
这个事实一下就打破了我原有的想法,我原本以为是网络和 TLS 问题,现在看来不是,然后注意到 http://192.168.34.197:10443
,我开始怀疑是 caddy 的路由没匹配上。
改成 :10443
后,frp 可用了。
后来把 Caddyfile 改成这样,直接按端口提供服务,一切问题都解决了:
也不需要按照浏览器的公网地址生成证书,反正都是信任不安全的证书,只要用内网地址生成一个证书就可以了。
总结
其实 Caddy 的文档中早有说明:
If you specify a hostname, only requests with a matching
Host
header will be honored. In other words, if the site address islocalhost
, then Caddy will not match requests to127.0.0.1
.
[解决]在NAT背后使用Caddy提供HTTPS服务
https://vitsumoc.github.io/[解决]在NAT背后使用Caddy提供HTTPS服务.html