使用 CF Tunnel 访问内网服务只能走 http 的困扰

75 天前
 urzz

之前的困扰: https://v2ex.com/t/1016923

现在又碰到个问题:

tunnel 访问内网的服务只能走 http ,但是 authelia 之类的服务访问只支持 https 。虽然浏览器访问是走的 https ,但是内网的 nginx 收到的请求其实还是 http 的,所以 authelia 会拒绝访问。

怎么才能让 authelia 这类服务知道,我其实是走的 https 访问呢?

类似的困扰: https://github.com/authelia/authelia/discussions/7420

尝试注入 X-Forwarded-Scheme 之后发现并没有作用,也可能是没注入成功= =

1525 次点击
所在节点    程序员
11 条回复
cnhongwei
75 天前
你是不是类型没有选对,有 https 类型的。
urzz
75 天前
@cnhongwei #1 尝试过 https 配置的。不知道是不是因为我用的泛域名的配置,访问会失败
dddedd
75 天前
tunnel 选 https 啊,映射到对应的 https 端口,tunnel 的 TLS 选择 No TLS Verify
公网仍然会是 CF 签的 https 证书
paperseller
75 天前
tunnel 控制台中单个 hostname 下有个额外设置,打开禁用 tls 验证试试
urzz
75 天前
@dddedd @paperseller

tunnel 配置中,单个二级域名的 public hostname 配置,通过配置 origin server name + http host header, 是可以的。参考: https://www.reddit.com/r/unRAID/comments/18oiv0p/cloudflare_tunnel_to_npm_setup_through_gui_to_fix/

但是这样的话有新增的域名访问都需要到 cloudflare tunnel 配置中新增子域名的配置。之前为了避免每次新增域名都需要在本地的 nginx 和 cf_tunnel 中配置,就在 cf_tunnel 的配置中使用了通配符域名。如果是通配符 public hostname ,就不能配置 origin server name + http host header 了吧?这种情况下,有什么方式可以正常访问吗?
ronyin
75 天前
我看 cf 都是内网 http 强制转 https 的。。你是不是有个选项没选择
urzz
75 天前
@ronyin @dddedd @paperseller 问题解决了,参考 append 哈。感谢几位的帮助~
1423
75 天前
通配整个域名感觉有点不安全, 只通配一部分又不行
urzz
75 天前
@1423 可访问域名还是需要通过 application 配置的,通过 policy 来控制访问
cnhongwei
74 天前
@urzz 1 对于 https 配置后,访问有问题的话,1 你可以使用 cf 的证书,2 在高级设置中,有忽略证书校验的选项。
urzz
73 天前
@cnhongwei #10 走 cf tunnel 访问的话,就是用的 cf 证书的。
对于 Nginx Proxy Manager ,且 tunnel 配置泛域名,即使忽略证书校验,NPM 也会阻断访问的,具体原因可以参考 append 里面的链接

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1071432

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX