ฉันมีปัญหากับอินสแตนซ์ nextcloud ที่ทำงานบน apache (+php-fpm) เป็นคอนเทนเนอร์นักเทียบท่าและ nginx reverse proxy ของฉัน
เมื่อฉันเปิด Nextcloud URL nginx พร็อกซีคำขอไปยัง apache และ apache เปลี่ยนเส้นทางฉันไปที่ /index.php/login อย่างไรก็ตาม ด้วยเหตุผลบางอย่าง nginx ส่งคืน 404 สำหรับ /index.php/login
นี่คือบันทึก nginx ของฉัน:
172.19.0.0 - - [29/พ.ย./2021:22:32:01 +0000] "GET / HTTP/1.1" 302 0 "-" "บาง UA-String"
172.19.0.0 - - [29/Nov/2021:22:32:01 +0000] "GET /index.php/login HTTP/1.1" 404 548 "-" "UA-String บางส่วน"
การกำหนดค่า nginx ของฉัน:
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
ฟัง [::]:443 ssl;
server_name cloud.example.com;
ssl_certificate [...];
ssl_certificate_key [...];
ที่ตั้ง / {
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
ปิด proxy_buffering;
ปิด proxy_request_buffering;
proxy_http_version 1.1;
เปิด proxy_intercept_errors;
proxy_pass http://nextcloud-httpd; #nextcloud-httpd คือชื่อโฮสต์ apache ในเครือข่ายนักเทียบท่า
}
}
ทำไม nginx ไม่ผ่าน /index.php/login ไปยัง apache แต่ส่งคำขออื่นทั้งหมด โอ้และถ้าฉันเข้าถึง apache โดยตรงทุกอย่างจะทำงานได้ ดังนั้นจึงต้องเป็นพร็อกซี nginx
ขอบคุณที่คุณช่วย
~แองเฮนฟิล