Nginx
Nginx:AWS Route 53:ELB:裸重定向
設置
我有兩個在 Opsworks 層中執行的 rails 應用程序實例。我正在使用 Route 53 和 ELB 將流量路由到我的層。
目標
將裸域流量重定向到我的 www 域。chicken.com -> www.chicken.com
我嘗試了什麼
我改變了我的 nginx conf(在一個實例上)來解決這個問題。我添加了以下內容:
server { listen 80; server_name chicken.com; return 301 $scheme://www.chicken.com$request_uri; } ... rest of config here
結果
實例不再被其 IP 擊中。
ELB 將我更改的實例標記為“停止服務”,因為 IP 無法再訪問它(執行狀況檢查失敗)。
問題
如何將裸域路由到 www 域同時保持我的 ELB 健康檢查滿意?
您需要設置一些在執行狀況檢查時返回 2xx 的內容,目前 301 使 ELB 認為它已停止服務,您可以放置類似這樣的內容
server { listen 80; server_name chicken.com; location ^~ /health { proxy_pass http://my_proxy; } location / { return 301 $scheme://www.chicken.com$request_uri; } } server { listen 80; server_name www.chicken.com; location / { proxy_pass http://my_proxy; } }