Problema com backend nginx do Apache

1

Minha configuração é basicamente esta: eu apontei dois domínios para o meu VPS rodando o Ubuntu 10.04. Eu estou usando um frontend nginx e o Apache rodando o Django com o mod-wsgi (não é um problema, funciona bem).

O Nginx está se aproximando muito bem e o Apache faz seu trabalho, mas todas as solicitações são selecionadas pelo primeiro Virtualhost, mesmo que o server_name não deva corresponder. Então, domain1.com e domain2.com estão me dando a mesma página. Grato por quaisquer ideias / respostas! Se alguma coisa precisa ser esclarecida, por favor me avise.

nginx server conf

server {
     listen  80  default;
     server_name domain1.com;

     location / {
         proxy_pass http://localhost:8001;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {
     listen  80;
     server_name domain2.com;

     location / {
         proxy_pass http://localhost:8001;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

E o conf Apache:

NameVirtualHost *:8001

<VirtualHost *:8001>
    ServerAdmin webmaster@localhost
    ServerName domain1.com
    ServerAlias www.domain1.com
    ...
</VirtualHost>

<VirtualHost *:8001>
    ServerAdmin webmaster@localhost
    ServerName domain2.com
    ServerAlias www.domain2.com
    ...
</VirtualHost>
    
por Johanna Larsson 21.10.2010 / 21:10

2 respostas

1

CMIIW,

eu acho que você deve passar o cabeçalho do host também

    proxy_set_header        Host            $host;

    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    
por 22.10.2010 / 05:53
1

Note that the HTTP Host header is not forwarded ...

documentação do nginx proxy_pass

    
por 21.10.2010 / 21:22