nginx server block mostra a página de boas-vindas

2

Estou tentando definir meu aplicativo rails para um subdomínio específico. Estou usando uma instância do ec2 com uma VM bitnami rubystack Eu desenvolvi o aplicativo usando ele com o ip do servidor, então eu sei que os trilhos e o aplicativo funcionam.

$ {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;
      }
     }
}

Isso é o que recebo quando faço uma postagem ou obtenho solicitação ao domínio

<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>
    
por Pacu 03.12.2012 / 18:47

2 respostas

0

Eu tenho que observar que a resposta fornecida pelo blackbox222 me ajuda a determinar a raiz do problema. Por fim, mudei meu provedor de DNS para um que realmente pudesse configurar o registro A corretamente e não usar algum tipo de redirecionamento bizarro.

TL; DR: verifique se o DNS está configurado corretamente

    
por 05.12.2012 / 16:15
2

Duas coisas a ter em conta:

  1. O bloco server em nginx.conf substitui a definição do servidor personalizado, pois é presumivelmente usado antes que as configurações personalizadas sejam incluídas (a primeira seção do servidor que corresponde ao cabeçalho do host, já que é um curinga aqui, será a configuração usada, a menos que você defina server_name "" ). Como document_root não está definido no bloco de servidores padrão, o padrão será algo como /var/www , que pode não ser o que você deseja.
  2. Lembre-se de que a configuração padrão do nginx na maioria das distros provavelmente inclui todos os arquivos .conf de /etc/nginx/sites-enabled . Você provavelmente desejará criar um link simbólico nesse diretório para o arquivo .conf em /etc/nginx/sites-available . (Se você removeu todo o resto do nginx.conf, por exemplo, sua listagem é o conteúdo literal do nginx.conf, você provavelmente vai querer algo como include /etc/nginx/sites-enabled/*; no final.
por 03.12.2012 / 19:18