设置
我在Opsworks Layer中运行了两个rails应用程序实例。
我正在使用Route 53和ELB将流量路由到我的Layer。
目标
将裸域流量重定向到我的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健康检查更快乐?
答案 0 :(得分:1)
ELB健康检查预计会有200回复。你在检查chicken.com而不是www.chicken.com吗?重定向页面不足以进行运行状况检查。
要同时进行重定向并为ELB检查提供200响应(来自内部IP),请使用以下配置:
server {
listen 80;
server_name chicken.com;
return 301 $scheme://www.chicken.com$request_uri;
}
server {
listen 80 default_server;
server_name www.chicken.com;
...
请注意default_server
选项。如果未设置,则定义的第一个server
是默认值。有关详细信息,请参阅nginx docs。