![公共網域到內部網路](https://rvso.com/image/658715/%E5%85%AC%E5%85%B1%E7%B6%B2%E5%9F%9F%E5%88%B0%E5%85%A7%E9%83%A8%E7%B6%B2%E8%B7%AF.png)
比方說
1)我有一台伺服器在私有內部網路中運作。它使用 tomcat 在 privateserverip:8080/appname 上提供 Web 應用程式
2)我有一個 myapp.local 域,當我輸入它的頂層時http://myapp.local如果請求來自 Intranet 內部,它會從 privateserverip:8080/appname 為應用程式提供服務
這就是實際的狀況。
現在:我有一個公共網域:example.org,並且我希望如果網站將 Intranet 中的使用者(!)重定向到 myapp.example.org,則應該提供 privateserverip:8080/appname 服務。如果來自 Intranet 外部的人造訪 myapp.example.com,則不會發生任何事情。
請告訴我這可能嗎! :)
我可以在 example.com 的 nginx 中設定虛擬主機,但也可以為 example.com 建立 DNS 項目和類似內容。所有你想要的。只要告訴我這是可能的
感謝您的幫助 :)
答案1
兩種方法之一:
- 您將本機用戶端指向Intranet 中的DNS 伺服器,該伺服器為發送至myapp.example.com/appname 的所有請求提供Web 伺服器的內部IP 位址(您必須在URL 中使用應用程式名稱,否則簡單的IP 映射將無法實現)工作)。
- 您變更 example.com 的 DNS 設定並新增指向您的網路伺服器的內部 IP 位址的 A 記錄。幸運的是,網路外部的人將無法存取您的內部網絡,但他們會知道伺服器的(內部私有)IP 位址,這可能是一個安全問題。
如果可以的話,我建議#1。通常您可以在路由器上執行此操作(通常是您的 DNS 伺服器)。
答案2
為什麼人們總是把私人和公共混為一談?內部用戶連接到私有 url 沒有任何問題(http://myapp.local) 和連接到公共 url (http://myapp.example.org)。其他任何事情都只是良好實踐的解決方法。