เรามี nginx ที่ทำงานบน Ubuntu Trusty ให้บริการเว็บไซต์หลายแห่งผ่าน https โดยใช้ที่อยู่ IP เดียว
สุ่มแม้ว่าดูเหมือนว่าจะเกี่ยวข้องกับภาระงานเล็กน้อย แต่บางครั้งคำขอเดียวก็เปิดใช้งาน vhost ผิด สิ่งนี้นำไปสู่คำขอเกี่ยวกับlustrum.thalia.nu
การให้บริการโดยthalia.nu
และในทางกลับกัน จากนั้นจะให้หน้าข้อผิดพลาดที่น่ารังเกียจเมื่อผู้ใช้จู่ ๆ ก็มีเว็บไซต์อื่น เมื่อคุณกดF5ผู้ใช้จะจบลงที่เป้าหมายเดิมอีกครั้ง
ดูเหมือนว่าจะไม่เกี่ยวข้องกับเบราว์เซอร์หรือระบบปฏิบัติการ ได้รับการยืนยันว่าจะเกิดขึ้นบน Firefox (Linux, Windows, Mac), Edge (Windows) และ Chrome (Linux, Windows, Android) และ Safari (iOS)
ปัญหานี้เกิดขึ้นบ่อยครั้งมากขึ้นเมื่อระบบอยู่ภายใต้การโหลดซึ่งบ่งบอกถึงสภาพการแข่งขันบางประเภท
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;
}
}
อย่างที่คุณเห็นเรากำลังเรียกใช้พูล PHP5-FPM ที่แตกต่างกันสำหรับสองโดเมนนี้ กลุ่มเหล่านี้ถูก chrooted ไปยังโฟลเดอร์ต่าง ๆ และเรียกใช้ในฐานะผู้ใช้ที่แตกต่างกัน การกำหนดค่าของ PHP-FPM นั้นค่อนข้างมาตรฐานเท่าที่ฉันสามารถบอกได้
เราได้ลองทั้ง nginx 1.4.6-ubuntu3 และ nginx 1.8.0-1 + เชื่อถือได้แล้ว
บันทึก telemetry
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"
ในบรรทัดนี้คุณจะเห็นว่าคำขอสำหรับหน้า/committees
นั้นได้รับการเปลี่ยนเส้นทางwp-admin
ทันที ดูเหมือนว่าคำขอสำหรับ/committees
จัดการโดยกลุ่มthalia-lustrum
PHP-fpm ...
ไฟล์โซน DNS
เราไม่เห็นว่าเรื่องนี้จะเกี่ยวข้องกันอย่างไร แต่ ...
;; 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:
ส่วนหัว http และตัวแทนผู้ใช้ในไฟล์บันทึกได้หรือไม่ ดูที่นี่สำหรับวิธีการ: serverfault.com/questions/636790/... ที่จริงฉันพยายามส่งคำขอไปยังเว็บไซต์ของคุณ แต่ไม่ได้ทำซ้ำปัญหาของคุณ คุณใช้ไคลเอนต์ใดในการทำซ้ำสิ่งนี้
config.php
พบข้อผิดพลาดสั้น ๆ เกี่ยวกับไม่พบ