Nginx / problema de subdomínio do Apache

4

Estou tendo problemas para configurar um subdomínio para clients.lipsmack.co.uk. Configurei um registro DNS A para apontar para o meu endereço IP e criei informações de proxy e vhost para o nginx e o apache, mas estou obtendo uma resposta de servidor não encontrada quando vou para o endereço.

A configuração do Nginx tem esta aparência:

upstream backend {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name clients.lipsmack.co.uk;

    location / {
        proxy_pass http://backend;
        include /etc/nginx/proxy.conf;
    }
}

E o arquivo do Apache diz:

<VirtualHost *:8080>
    ServerName clients.lipsmack.co.uk

    <Directory /path/to/wsgi/parent/dir/>
        Order deny,allow
        Deny from all
    </Directory>

    WSGIDaemonProcess clients.lipsmack.co.uk user=www-data group=www-data threads=25
    WSGIProcessGroup clients.lipsmack.co.uk

    WSGIScriptAlias / /path/to/wsgi/file/
</VirtualHost>

Eu realmente não sei porque não está funcionando. Alguém pode lançar alguma luz?

Obrigado.

Editar: Esse problema parece ter se resolvido, embora eu não seja o mais sábio de como. Eu mudei o registro para um CNAME, que não fez nada, então eu mudei de volta. Depois de reescrever os arquivos de configuração algumas vezes, finalmente funcionou, embora eu tenha certeza de que não fiz nada de diferente. Eu estaria interessado em ouvir as idéias das pessoas sobre isso ...

    
por Gary Chambers 07.10.2009 / 20:10

1 resposta

3

Experimente esta configuração:

location / {
    proxy_pass http://backend;
    proxy_set_header  Host       $host;
    include /etc/nginx/proxy.conf;
}

anote a adição de proxy_set_header Host $host que encaminhará o cabeçalho do host para o apache

Você também pode precisar passar

proxy_set_header   X-Forwarded-For $remote_addr;

para o apache e, em seguida, processá-lo para obter o endereço IP do usuário.

    
por 07.10.2009 / 21:23