Nginx

如何使用 nginx 將 http 轉發/重定向到公共 IP?

  • March 19, 2020

我有一個域 example.com 的 DNS A 記錄指向公共 ip xxxx

我需要從該伺服器獲取所有 http 和 https 請求並將該流量轉發到另一個公共 ip yyyy

關於如何實現這一點的任何想法?

我一直在閱讀有關 Nginx 重定向的資訊,但我不知道這是否是正確的方法以及是否可以完成。

PD。我有一個指向 yyyy 的 www.example.com 的 DNS A 記錄,問題出在 example.com,因為我無法將 DNS 記錄更改為指向 ip yyyy,因為這會干擾來自具有 xxxx 地址的伺服器的郵件服務.

您不會將 HTTP 重定向到 IP 地址,而是重定向到主機名。由於您已經www.example.com指向正確的 IP 地址,這應該很容易。這個時代我假設你正在使用 TLS,所以這個 Nginx 範例將重定向到http://規范域地址。https://example.com``https://www.example.com

server { 
   listen 80; 
   listen 443 ssl; 
   server_name example.com; 
   return 301 https://www.example.com$request_uri; 
}

如果您可以訪問 dns 配置,則可以使用子域:

www.example.com.    IN  A   y.y.y.y
mail.example.com.   IN  A   x.x.x.x

如果不使用 nginx(或其他工具)重定向流量。

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