Dois blocos de servidores nginx na mesma porta

1

Eu preciso:

  • Dois serviços da web que devem ser exibidos na mesma porta (80).
  • Um serviço só deve ser exibido para o host local.

As configurações do servidor (dois arquivos separados, incluídos nesta ordem) são:

server {
    listen 127.0.0.1:80;

    location /app {
        index index.html;
        alias /var/www/app;
    }
}

server {
    listen *:80 default_server;

    location /static {
        alias /var/www/static;
    }
    location / {
        uwsgi_pass  django;
        include     /path/to/uwsgi_params;
    }
}

Problema: O primeiro servidor funciona, mas para pedidos que devem ser manipulados no segundo servidor, recebo 404.

  • Eu tentei bind na diretiva listen em ambos os blocos de servidores separadamente, o que causa o erro "porta já em uso ".

Soluções / Soluções:

  • Use uma porta diferente para o primeiro servidor (o.k. porque o único cliente está no localhost).
por schoettl 09.04.2018 / 17:44

2 respostas

1

Não faça dois bloqueios de servidor. Você pode ter vários IPs ou usar diretivas de local

    
por 12.04.2018 / 18:28
0

Especifique o IP em ambos os blocos, isto é, 127.0.0.1 para o local e 89.89.89.89, por exemplo, para o host não local.

Você usou *: 80 no segundo que inclui 127.0.0.1.

    
por 12.04.2018 / 23:54

Tags