Nginx
nginx 重定向/代理,一個域(url)和兩個 IP
我們想為其中一個 java 應用程序設置故障轉移機制,應用程序在一台伺服器上有 3 個實例,每個實例必須通過不同的 url 訪問,這些 url 已經註冊並可以通過 dns 訪問。在輔助伺服器上我們進行複制(重要的是實例只能在一台物理機器上啟動和執行)因此我們建立輔助伺服器以防主伺服器出現故障,我們想為一個域註冊多個 IP,但由於應用程序是設計為只有一個 IP 註冊到實例 url。多個 ip 設置的另一個問題是 dns 的循環性質。是否可以為一個域註冊兩個 IP 並通過 nginx 或 HAproxy 代理它以僅指向主伺服器?還是其他想法?我的想法是,如果小學出現故障,
我要做的是接受域實際名稱上的傳入流量,然後自己手動進行路由/故障轉移。
IE
example.com > nginx 伺服器 > server1。(如果失敗)> server2.
http { 上游 java-app { 伺服器 $primary-server; 伺服器 $secondary-server 備份; } 伺服器 { 地點 / { proxy_pass http://java-app; proxy_set_header 主機“example.com”; proxy_next_upstream 錯誤 http_502; } } }
通過使用這種方法,您的後端伺服器無需擔心 DNS。只有 Nginx 會有指向它的 DNS 記錄。你的後端伺服器只需要擔心處理傳入的流量,如果
primary-server
死了……輔助伺服器將接管!通過在其中添加主機標頭,您的後端伺服器仍然可以匹配其程式碼中的“主機”標頭。:)