nginx redireciona ip para nome de domínio

1

Estou tentando implantar um site com nginx e gunicorn. O Nginx está servindo arquivos estáticos e atuando como um proxy para o gunicorn.

Aqui está o conteúdo do meu arquivo / etc / nginx / sites-available / herbop

server {
       listen 80;
       server_name herbop.com;

       location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_intercept_errors on;
                proxy_pass http://127.0.0.1:8001;
       }

       location /static/ {
                autoindex on;
                alias /opt/Herbop-Backend/app/static/;
       }
}

server {
       listen 80;
       server_name 51.254.123.234;
       return 301 $scheme://herbop.com$request_uri;
}

Nesse caso, pareço ter um loop de redirecionamento infinito.

Alguma ideia?

    
por soueuls 09.11.2015 / 21:25

1 resposta

2
  • DNS: aponte herbop.com usando um registro A para 51.254.123.234 . (Remova o redirecionamento http existente.) (Nota: o DNS é distribuído, às vezes, leva algum tempo para se propagar).

  • Tente a seguinte configuração do nginx:

    server {
        listen 80;
        server_name herbop.com;
    
        location /static/ {
            root /opt/Herbop-Backend/app;
        }
    
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $http_host;
            proxy_intercept_errors on;
            proxy_pass http://127.0.0.1:8001;
        }
    }
    
    server {
        listen 80;
        server_name 51.254.123.234;
        return 301 $scheme://herbop.com$request_uri;
    }
    
    • Notas:

      • ((Se tudo o que você deseja fazer é fornecer arquivos estáticos para visitantes, como imagens etc., que estão incorporados em seu * .html, não é necessário autoindex . "O ngx_http_autoindex_module processa solicitações que terminam com o caractere de barra ('/') e produz uma listagem de diretórios. [...] "Até onde Pelo que entendi, você não precisará disso, então não o habilite.)) ((Não tenho certeza se eu entendi bem e de que tipo seus arquivos estáticos estão).)
      • Com relação à sua diretiva alias : De acordo com os docs : "Quando o local corresponde ao última parte do valor da directiva:

        location /images/ {
             alias /data/w3/images/;
        }
        

        é melhor usar a diretiva raiz em vez de ":

        location /images/ {
             root /data/w3;
        }
        
por 09.11.2015 / 22:48