nginx como proxy de vários vhosts

1

Execução do Windows Server 2008 R2

nginx na porta 8080 Apache na porta 80

O Apache está hospedando 5 sites configurados dentro da diretiva.

Estou tentando configurar o nginx como proxy na frente do Apache, (vou inverter os números de porta após o teste).

O nginx.conf inclui este servidor,

    server {
    listen       8080;
    server_name  www.domain1.com;

    root   PATH/domain1/;
    index  index.html index.htm index.php;
    location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
           expires 365d;
        }

    ## send request back to apache1 ##
    location / {
     proxy_pass  http://127.0.0.1;
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
     proxy_redirect off;
     proxy_buffering off;
     proxy_set_header        Host            $host;
     proxy_set_header        X-Real-IP       $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}server {
    listen       8080;
    server_name  www.domain2.com;

    root   PATH/domain2/;
    index  index.html index.htm index.php;

    ## send request back to apache1 ##
    location / {
     proxy_pass  http://127.0.0.1;
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
     proxy_redirect off;
     proxy_buffering off;
     proxy_set_header        Host            $host;
     proxy_set_header        X-Real-IP       $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

Funciona, mas se eu adicionar um segundo servidor, o segundo servidor resultará em erro 404 porque o nginx ainda está tentando localizar o conteúdo para o segundo site dentro da pasta site1.

Qual é a maneira correta de configurar vários sites no nginx? (Windows).

    
por D_Guy13 17.09.2013 / 23:45

1 resposta

0

primeiro palpite: você reiniciou / recarregou seu nginx depois de alterar a configuração?

você config parece ok até agora; Eu incluiria uma diretiva access_log /path/to/domainX_access.log separada em cada {} - parte do servidor para uma melhor depuração; pelo menos você saberá dos logs, qual host virtual é atendido.

    
por 18.09.2013 / 08:32