答案1
虽然 nginx 可能有第三方模块来处理原始 TCP 连接,但我很确定默认情况下所有内容都必须是 HTTP 或终止 HTTPS。我认为在你的情况下我会在网络级别进行端口转发:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443
答案2
您可以让 nginx 处理 SSL 并转发到后端服务器上的端口 8000。这意味着 nginx 是 SSL 端点,并且 nginx 和后端之间没有 SSL。
答案3
最好的选择可能是按照@cperrin88 所说的去做。但是如果你真的不想在你的 nginx 上解密 https,你可以将其转发为 TCP 流量,然后在后端解密。
Nginx 默认不支持 TCP 代理,但是你可以使用此模块nginx_tcp_proxy_模块
答案4
如果您只是想传递 TCP 流量,HAProxy 是一个不错的选择。易于安装且配置简单。HAProxy 可以对 TCP 和 HTTP 流量进行负载平衡。
这Ubuntu 上 HTTP 流量的记录应该可以开始使用了。将模式更改为 TCP,以对原始 TCP 进行负载平衡。