nginx 可配置為監聽同一端口并根據請求將流量轉發到不同的應用:創建虛擬主機配置,指定端口和服務器名稱。在 location 塊中使用 proxy_pass 指令設置轉發目標。啟動不同應用程序并確保其正在監聽傳入連接。測試配置,導航到不同的服務器名稱以驗證流量轉發。
nginx 配置監聽同一端口轉發不同應用
Nginx 是一款強大的 Web 服務器和反向代理,它可以配置為監聽同一端口并根據請求將流量轉發到不同的應用。
實現步驟:
-
創建虛擬主機配置:
- 打開 nginx.conf 文件。
- 添加以下虛擬主機配置:
server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:8080; } } server { listen 80; server_name www.example.com; location / { proxy_pass http://127.0.0.1:8081; } }
- 在此示例中,Nginx 將監聽端口 80,并根據服務器名稱將請求轉發到端口 8080 或 8081 上的不同應用。
-
設置反向代理:
- 確保已安裝且正在運行 Nginx。
- 在 location 塊中,使用 proxy_pass 指令指定轉發目標。
- 您還可以添加其他代理設置,例如緩存和負載平衡。
-
設置應用程序:
- 在端口 8080 和 8081 上啟動不同的應用程序。
- 確保應用程序正在監聽傳入連接。
-
測試配置:
- 導航到 http://example.com,它應該將您重定向到運行在端口 8080 上的應用程序。
- 導航到 http://www.example.com,它應該將您重定向到運行在端口 8081 上的應用程序。
優點:
- 集中管理:通過 Nginx 配置,您可以在單個配置文件中管理所有應用程序的轉發規則。
- 擴展性:您可以輕松添加或刪除應用程序,無需重新配置 Web 服務器。
- 負載平衡:通過在 Nginx 中設置負載平衡選項,您可以將流量分布到多個應用程序實例。