ฉันกำลังพยายามตั้งค่า WordPress โดยใช้ docker-compose แต่ WordPress ต้องทำงานในคอนเทนเนอร์ที่แยกกันด้วย php_fpm, คอนเทนเนอร์สำหรับ MariaDB และ Nginx ในพอร์ต 443 ที่เปลี่ยนเส้นทางไปยัง WordPress หากลิงก์คือ HTTPS://localhost/wordpress แต่ หากลิงก์เป็น HTTPS://localhost/ จะต้องส่งคำขอไปยังหน้า index.html ในคอนเทนเนอร์เดียวกัน
แต่ฉันมีปัญหากับ URL ของ WordPress
ฉันต้องการเมื่อ nginx เปลี่ยนเส้นทางคำขอทั้งหมดที่มาจาก https:/localhost/wordpress ไปยังคอนเทนเนอร์ WordPress แต่เมื่อฉันทำมันทำให้ฉัน ปฏิเสธการเข้าใช้.
หน้าหนังสือ.
ในขณะเดียวกันเมื่อฉันเข้าถึง https://localhost/wordpress/ (ฉันเพิ่มไฟล์ /
ใน URL สุดท้าย) หน้าทำงานได้ดี
ไฟล์ default.conf ของฉัน:
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
ssl_protocols TLSv1.3;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
รูท /var/www/html;
ดัชนี index.html;
# ดัชนี index.html index.htm index.php;
ชื่อเซิร์ฟเวอร์ _;
#client_max_body_size 32m;
# error_page 500 502 503 504 /50x.html;
# ปิดดัชนีอัตโนมัติ
# ดัชนี index.php index.html index.htm index.nginx-debian.html;
# รวม /etc/nginx/mime.types;
ตำแหน่ง = /50x.html {
รูท /var/lib/nginx/html;
}
ที่ตั้ง / {
# ความพยายามครั้งแรกในการให้บริการคำขอเป็นไฟล์ จากนั้น
# เป็นไดเร็กทอรี จากนั้นถอยกลับไปแสดง 404
ดัชนี index.html;
# try_files $uri $uri/ /index.php?$args;
}
# ส่งสคริปต์ PHP ไปยังเซิร์ฟเวอร์ FastCGI ที่ฟังบน wordpress:9000
ตำแหน่ง / เวิร์ดเพรส {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# ราก /var/www/html/;
fastcgi_pass 0.0.0.0:9000;
fastcgi_index index.php;
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
หมายเหตุ: ฉันถามคำถามเดียวกันกับ สแต็คโอเวอร์โฟลว์