我們有一個產品,我們正在部署到一些小企業。它基本上是一個使用Tomcat的基於SSL的RESTful API。它安裝在小型企業的服務器上,並通過iPhone或其他設備便攜式設備訪問。所以,連接到服務器的設備可能來自任何數量的IP地址。如何訪問NAT後面的Web服務?
問題出現在安裝中。當我們安裝這個服務時,在進行端口轉發時似乎總是成爲一個問題,所以外部世界可以訪問tomcat。似乎大多數時間主人不知道路由器密碼等等。
我想研究其他方法,我們可以做到這一點。我想出了以下內容,並希望聽到關於該主題的其他想法。
設置從每個客戶端辦公室到中央服務器的SSH隧道。基本上,遠程設備將連接到端口上的中央服務器,並將該流量通過隧道傳回Tomcat。看起來有點多餘,有SSH和SSL,但真的沒有其他辦法來完成它,因爲我需要SSL(從設備到辦公室)。不確定這裏的性能影響,但我知道它會起作用。需要監控隧道,並將其恢復,如果它完成,需要處理SSH密鑰交換等。
設置uPNP爲我嘗試配置洞。大部分時間可能會工作,但uPNP不保證打開。可能是下一個好的一步。
想出一些類型的NAT橫向方案。我對這些並不熟悉,也不確定他們的工作方式。我們可以訪問身份驗證所需的集中式服務器,這樣可以更輕鬆地進行身份驗證。
我還應該注意什麼來完成這項工作?
我不認爲你瞭解這個問題。 Tomcat位於Nat後面的私人IP地址。把Apache放在它面前並不能解決任何問題。 Nat以外的人仍然需要訪問服務,無論是Tomcat還是Apache。 我已經有Tomcat在端口上運行SSL應答了。只是我需要在防火牆上打洞,我試圖避免這種情況。 – 2010-04-24 03:54:26
是的,上面的解決方案假設Apache不在您的專用網絡中,並且Apache和Tomcat通過防火牆中的漏洞彼此交談。對不起,沒有更明確的說。通過這種設置,客戶端不需要直接訪問您的專用網絡,因爲所有請求都通過Apache服務器進入。在我看來,這使得安全和可維護的設置成爲可能。特別是因爲防火牆上的漏洞只對Apache服務器的IP地址開放,並且你可以保護你喜歡的Apache。 – 2010-04-24 12:21:27
我仍然需要在防火牆上打洞,這正是我想要避免的。 – 2010-04-28 11:53:03