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

查看 89|回复 8
作者:urzz   
之前的困扰: https:///t/1016923
现在又碰到个问题:
tunnel 访问内网的服务只能走 http ,但是 authelia 之类的服务访问只支持 https 。虽然浏览器访问是走的 https ,但是内网的 nginx 收到的请求其实还是 http 的,所以 authelia 会拒绝访问。
怎么才能让 authelia 这类服务知道,我其实是走的 https 访问呢?
类似的困扰: https://github.com/authelia/authelia/discussions/7420
尝试注入 X-Forwarded-Scheme 之后发现并没有作用,也可能是没注入成功= =
我碰到的问题,可能是使用 Nginx Proxy Manager 才能遇到。这里说一下参考的解决方案:
参考: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2696#issuecomment-1475065806
tunnel 配置的 public hostname ,可以使用通配符域名,比如:*.example.com ,service 配置位: https://192.168.0.254:443
需要在 Additional application settings -> TLS -> Origin Server Name 中配置一个使用中的子域名( demo.example.com )
这样就可以正常访问了,也不会有以上的困扰咯。
cnhongwei   
我碰到的问题,可能是使用 Nginx Proxy Manager 才能遇到。这里说一下参考的解决方案:
参考: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2696#issuecomment-1475065806
tunnel 配置的 public hostname ,可以使用通配符域名,比如:*.example.com ,service 配置位: https://192.168.0.254:443
需要在 Additional application settings -> TLS -> Origin Server Name 中配置一个使用中的子域名( demo.example.com )
这样就可以正常访问了,也不会有以上的困扰咯。
urzz
OP
  
你是不是类型没有选对,有 https 类型的。
dddedd   
@cnhongwei #1 尝试过 https 配置的。不知道是不是因为我用的泛域名的配置,访问会失败
paperseller   
tunnel 选 https 啊,映射到对应的 https 端口,tunnel 的 TLS 选择 No TLS Verify
公网仍然会是 CF 签的 https 证书
urzz
OP
  
tunnel 控制台中单个 hostname 下有个额外设置,打开禁用 tls 验证试试
ronyin   
@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 了吧?这种情况下,有什么方式可以正常访问吗?
urzz
OP
  
我看 cf 都是内网 http 强制转 https 的。。你是不是有个选项没选择
ronyin   
@ronyin @dddedd @paperseller 问题解决了,参考 append 哈。感谢几位的帮助~
您需要登录后才可以回帖 登录 | 立即注册

返回顶部