Linux
埠重定向 443 到 8443 不適用於我的 tomcat 實例
我在專用主機伺服器上使用 ubuntu 無頭伺服器 18.04。主機有外部防火牆,我在其中打開了埠 8443,443 (tcp)。在我使用 iptables 的 ubuntu 伺服器上,我使用表 nat 將埠 443 重定向到 8443。
iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-ports 8443
我還打開了入站和出站埠 443 和 8443。
我仍然可以使用 example.com:8443 訪問 tomcat 實例並且沒有問題,但 example.com 沒有響應。查看 iptables 我沒有看到任何丟棄數據包。在我的 tomcat 上,我沒有更改 server.xml。連接器聽 8443。我不知道,問題出在哪裡?我希望一些專家可以幫助我解決這個問題。
親切的問候
黑鬍子
您真正需要的是一個反向代理(例如 Nginx),它可以在埠 443 上為您執行 SSL 終止,然後在埠 8443 上將請求傳遞給 Tomcat。
SSL/TLS 很複雜,在我看來,依靠 IPTABLES 處理 SSL 握手並將您的請求發送到 Tomcat 應用程序並不是一個好主意。
如果您真的需要使用 IPTABLES,請連接到該服務
openssl
並找出到底發生了什麼。在此處報告輸出,可能會提供更多幫助。openssl s_client -connect www.example.com:443
問題也可能是您正在使用該
nat
表。我的理解是,僅當請求通過伺服器路由時才應用此表的規則,而不是路由到同一 IP 地址上的不同埠。反向代理會消除很多這種複雜性,並為您提供更多功能(例如速率限制、訪問控制等)來啟動。