Nginx redirecionando para vhost errado
Eu tenho cerca de 1300vhosts em um arquivo conf nginx. Tudo com o layout a seguir (eles são listados um após o outro no arquivo vhost).
Agora meu problema é que às vezes meu navegador redireciona site2 para site1. Por algum motivo, enquanto os nomes de domínio não coincidem com o evento.
Parece que o nginx está sempre redirecionando para o primeiro site no arquivo vhosts.
Alguém que sabe o que este problema pode ser?
server {
listen 80;
server_name site1.com;
rewrite ^(.*) http://www.site1.com$1 permanent;
}
server {
listen 80;
root /srv/www/site/public_html/src/public/;
error_log /srv/www/site/logs/error.log;
index index.php;
server_name www.site1.com;
location / {
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
}
location ~ .(php|phtml)$ {
try_files $uri $uri/ /index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/site/public_html/src/public$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
server {
listen 80;
server_name site2.com;
rewrite ^(.*) http://www.site2.com$1 permanent;
}
server {
listen 80;
root /srv/www/site/public_html/src/public/;
error_log /srv/www/site/logs/error.log;
index index.php;
server_name www.site2.com;
location / {
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
}
location ~ .(php|phtml)$ {
try_files $uri $uri/ /index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/site/public_html/src/public$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
EDIT Talvez outra coisa a mencionar é que, eu recarrego todos esses vhosts a cada 2 minutos com o recarregamento nginx -s.
Nos primeiros testes parece que o redirecionamento só acontece ao recarregar ... Vai fazer mais alguns testes, mas isso pode ser útil ..