
Tenho meu site no IP 1.2.3.4
No meu provedor de domínio, tenho onesite.com e anothersite.com apontando para 1.2.3.4
Com o Nginx, tenho dois sites configurados:
server {
listen 1.2.3.4:80;
server_name www.oneserver.com;
rewrite ^(.*) http://onserver.com$1 permanent;
}
server {
listen 1.2.3.4:80;
server_name onserver.com;
location / {
fastcgi_pass 127.0.0.1:8878;
[..]
E:
server {
listen 1.2.3.4:80;
server_name myapp.anotherserver.com;
location / {
fastcgi_pass unix:/tmp/myapp.sock;
[..]
Quando acesso myapp.anotherserver.com sou redirecionado para oneserver.com
Qualquer ajuda?
Responder1
Conforme user186340
apontado, seu snippet de configuração parece bom e o acesso myapp.anotherserver.com
na porta 80
deve ser servido no terceiro bloco que você forneceu. Se não funcionar como você descreveu, pode ser porque não está carregado.
- Certifique-se de que toda a configuração que você mostrou aqui foi encontrada/carregada pelo nginx
- Use
nginx -t
para validar sua configuração - Monitore seu log de erros ao enviar um
HUP
sinalao processo mestre nginx para detectar qualquer mensagem de erro aparecendo - Se você estiver usando o nginx v1.9.2+, você pode querer usar
nginx -T
para despejar a configuração carregada na saída padrão
Se tudo a seguir estiver correto, você provavelmente modificou a configuração mostrada em comparação com aquela que você efetivamente usa.
Responder2
O problema é que o Nginx escolhe o servidor padrão e o atende a qualquer solicitação sem um servidor definido explicitamente. Minha solução alternativa é definir um servidor padrão que não faça nada.
# This just prevents Nginx picking a random default server if it doesn't know which
# server block to send a request to
server {
# You can add 443/ssl if you need to
listen 80 default_server;
server_name _;
access_log off; log_not_found off;
# "I'm a teapot", effectively "go away" https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error
# Code 403 (forbidden), 410 (gone) or 501 (not implemented) is probably a better choice https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error
return 418;
}