我正在尝试设置以下内容:
┌──────────────────┐ ┌────────────────────┐ ┌─────────┐
│ │ │ │ │ │
│ Router │ │ │ │Server 1 │
│ NAT │Port forward│ │ │ │
│ │ ────────► │ Server 0 │ │HTTP > │
│ │ │ │ │HTTPS │
│ │ │ 1.example.com ───────────► │redirect │
│ │ │ 2.example.com ────┐ └─────────┘
└──────────────────┘ └────────────────────┘ │ 192.168.178.8
192.168.178.4 │
│ ┌─────────┐
│ │ │
│ │ │
│ │Server 2 │
└─► │ │
│HTTP only│
│ │
└─────────┘
192.168.178.7
我希望服务器 0 充当仅转发流量的完全透明代理。这样客户端就不会与服务器 0 建立 TLS 连接,而是直接与服务器 1/2 建立连接,并且在服务器 1/2 上基于 HTTP-01 挑战的自动证书生成和更新仍然有效。
编辑:如果您担心反向代理(终止 SSL 隧道)和内容服务器之间的连接不安全,尽管这确实有效并且是安全的,但您最好配置上游 SSL 或安全隧道,如 SSH 或内容服务器和反向代理之间的 IPSEC。
我让它工作:
文件结构:
nginx.conf
码头工人-compose.yml
http_server_name.js
文档:
ngx_http_upstream_module
ngx_http_map_module
ngx_stream_proxy_module
编辑:
阅读这篇博文了解更多信息