Tenemos nginx ejecutándose en Ubuntu Trusty. Sirve a varios sitios web a través de https, ejecutándose en una dirección IP.
Aleatoriamente, aunque parece estar ligeramente relacionado con la carga de trabajo, a veces las solicitudes individuales aparecen en el vhost incorrecto. Esto lleva a solicitudes de lustrum.thalia.nu
ser atendido por thalia.nu
y viceversa. Esto genera páginas de error desagradables ya que los usuarios de repente terminan en un sitio web diferente. Cuando presiona F5, los usuarios terminan nuevamente en el objetivo original.
No parece estar relacionado con el navegador o el sistema operativo. Se ha confirmado que ocurre en Firefox (Linux, Windows, Mac), Edge (Windows) y Chrome (Linux, Windows, Android) y Safari (iOS).
El problema parece ocurrir con más frecuencia cuando el sistema se pone bajo carga, lo que sugiere algún tipo de condición de carrera.
lustrum.thalia.nu
server {
server_name lustrum.thalia.nu;
listen 443 ssl;
ssl on;
ssl_certificate /etc/nginx/certs/lustrum.thalia.nu.crt;
ssl_certificate_key /etc/nginx/certs/lustrum.thalia.nu.key;
add_header Strict-Transport-Security "max-age=63072000; preload";
root /var/www/thalia-lustrum/public_html;
location / {
index index.php;
try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
# Pass all .php files onto a php-fpm/php-fcgi server.
location ~ [^/]\.php(/|$) {
include /etc/nginx/fastcgi_params;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/var/run/php5-fpm-thalia-lustrum.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /public_html$fastcgi_script_name;
}
}
thalia.nu
server {
server_name thalia.nu;
listen 443 ssl;
ssl on;
ssl_certificate /etc/nginx/certs/www.thalia.nu.crt;
ssl_certificate_key /etc/nginx/certs/www.thalia.nu.key;
add_header Strict-Transport-Security "max-age=63072000; preload";
root /var/www/thalia/public_html;
location / {
try_files $uri $uri/ /index.php/$request_uri;
index index.php index.html index.htm;
}
location ~ \.php($|/) {
include /etc/nginx/fastcgi_params;
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
fastcgi_read_timeout 120;
fastcgi_pass unix:/var/run/php5-fpm-thalia-www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /public_html$fastcgi_script_name;
}
}
Como puede ver, estamos ejecutando diferentes grupos PHP5-FPM para estos dos dominios. Estos grupos se agrupan en diferentes carpetas y se ejecutan como diferentes usuarios. La configuración de PHP-FPM es, por lo demás, bastante estándar.
Hemos probado nginx 1.4.6-ubuntu3 y nginx 1.8.0-1 + trusty.
Telemetría de registro
266.266.266.266 - - [25/Nov/2015:09:24:40 +0100] "GET /committees/175 HTTP/1.1" 302 5 "https://thalia.nu/committees" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0" Host: "thalia.nu" Location: "https://thalia.nu/index.php//committees/wp-admin/setup-config.php"
En esta línea puede ver que la solicitud de la página de /committees
repente se redirige a wp-admin
. Esto parece que la solicitud de /committees
fue manejada por el grupo thalia-lustrum
PHP-fpm ...
Archivo de zona DNS
No vemos cómo esto puede ser relevante, pero ...
;; MX Records
thalia.nu. 300 IN MX 20 relay.transip.nl.
thalia.nu. 300 IN MX 10 ivo.thalia.nu.
;; TXT Records
thalia.nu. 300 IN TXT "v=spf1 a mx a:mulgore.hexon-is.nl a:moonray.hexon-is.nl a:fred.thalia.nu a:ivo.thalia.nu ~all"
;; SPF Records (Sender Policy Framework)
thalia.nu. 300 IN SPF "v=spf1 a mx a:mulgore.hexon-is.nl a:moonray.hexon-is.nl a:fred.thalia.nu a:ivo.thalia.nu ~all"
;; CNAME Records
lustrum.thalia.nu. 300 IN CNAME thalia.nu.
;; A Records (IPv4 addresses)
thalia.nu. 300 IN A 131.174.31.8
www.thalia.nu. 300 IN A 131.174.31.8
ivo.thalia.nu. 300 IN A 131.174.31.8
Host:
encabezado http y el agente de usuario? Vea aquí cómo: serverfault.com/questions/636790/… . En realidad intenté hacer algunas solicitudes a sus sitios web pero no pude reproducir su problema. ¿Qué cliente estás usando para reproducir esto?
config.php
no encontrado.