nginx服务器块显示欢迎页面

我试图设置我的rails应用程序到一个特定的子域。 我正在使用ec2实例与bitnami ruby​​stack虚拟机我开发的应用程序使用它的服务器的IP,所以我知道轨道和应用程序的工作。

$ {nginx的-DIR} /conf/nginx.conf

server { listen 80 default_server; server_name _; server_name_in_redirect off; proxy_intercept_errors on; return 401; } include "/opt/bitnami/nginx/conf/vhosts/*.conf"; 

$ {nginx的-DIR} /conf/vhosts/backend.conf

 upstream thin_instances { server 0.0.0.0:3000; server 0.0.0.0:3001; server 0.0.0.0:3002; fair; } server { # port to listen on. Can also be set to an IP:PORT listen 80; server_name backend.mydomain.com; root /opt/bitnami/projects/myappname/public; location / { proxy_pass http://thin_instances; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; if (!-f $request_filename) { proxy_pass http://thin_instances; break; } } } 

这是当我发布信息或获取域名请求时所获得的信息

 <html> <head><title>401 Authorization Required</title></head> <body bgcolor="white"> <center><h1>401 Authorization Required</h1></center> <hr><center>nginx/1.2.4</center> </body> </html> 

有两件事要注意:

  1. nginx.confserver块取代了你的自定义服务器定义,因为这大概是在包含自定义configuration之前使用的(第一个服务器部分与Host头匹配,因为这里是一个通配符,将是使用的configuration,除非你设置server_name "" )。 由于document_root没有在默认的服务器模块中设置,所以它会默认为/var/www ,这可能不是你想要的。
  2. 请记住,大多数发行版中的默认nginxconfiguration可能包含/etc/nginx/sites-enabled所有.conf文件。 您可能需要在该目录中创build符号链接到/etc/nginx/sites-available的.conf文件。 (如果你从nginx.conf中删除了所有的东西,例如你的清单是nginx.conf的内容,你可能会想在include /etc/nginx/sites-enabled/*;之类的东西。

我不得不说,blackbox222提供的答案帮助我确定问题的根源。 最后,我改变了我的DNS提供商的一个实际上可以正确configurationAlogging,而不是使用某种奇怪的redirect。

TL; DR:确保您的DNSconfiguration正确