Networking

NAT 和 NGINX 在同一台伺服器上

  • November 26, 2012

我正在為我的協作待辦事項列表應用程序www.getdoneapp.com設置一個 VPC 集群。

要將我的伺服器放在專用網路上,我需要一個 NAT 伺服器,以便我在專用網路上的伺服器可以連接到 Internet 以接收更新等等。

NAT 伺服器將使用一個彈性 IP 地址,所以我想知道我是否可以讓該 NAT 伺服器執行 nginx 來將流量引導到我的內部伺服器以進行 HTTP。

所以問題是,在同一台伺服器上執行 NGINX 和 NAT 是一個壞主意,還是我應該使用 2 個彈性 IP 地址?

您可以輕鬆地做到這一點而沒有任何問題,只需為每個伺服器使用如下所示的 nginx conf 文件

server {
   listen 80;
   server_name subdomain.domiain.com;

   location / {
       proxy_pass      http://internal-server;
       }
}

顯然你可以變得更複雜,做 ssl 和其他類似的事情,但它的核心是它會起作用,然後你只需打開埠 80,然後轉到指定的主機(或者你可以打開多個埠,並為每個埠而不是 URL)

我無法評論這對於您的應用程序架構是否是一個好主意,但是,在技術上可以使用您自己的 NAT 實例。這很簡單。

在 AWS 中:

  1. 禁用源/目標檢查 2) 配置 linux 以啟用核心和 iptables 規則中的 nat 功能。

對於第 2 點,您可以只使用現有 amazon nat 中的 configure-pat.sh 腳本。如果這有幫助,我已將其粘貼在這裡。

希望這可以幫助

安德魯

引用自:https://serverfault.com/questions/451911