ฉันประสบปัญหาเล็กน้อยเมื่อตั้งค่า WordPress ด้วย Nginx เป็นพร็อกซีย้อนกลับไปยังแบ็กเอนด์ Apache
กำลังโหลดหน้าทั้งหมด แต่ฉันได้รับข้อผิดพลาดเมื่อฉันพยายามลงชื่อเข้าใช้แดชบอร์ด wp-admin
ข้อผิดพลาดคือ ขออภัย คุณไม่ได้รับอนุญาตให้เข้าถึงหน้านี้
ฉันได้ตรวจสอบสิทธิ์ของไฟล์ คำนำหน้าฐานข้อมูล .htaccess และแม้แต่สิทธิ์ของผู้ดูแลระบบ usermeta ใน db แล้ว ทั้งหมดดูเหมือนจะสมบูรณ์แบบ
ไซต์ทำงานได้ดีอย่างสมบูรณ์ก่อนที่ฉันจะตั้งค่า nginx reverse proxy
นี่คือของฉัน การกำหนดค่า apache2:
<VirtualHost *:8081>
DocumentRoot "/mnt/NAS/wp_data/wordpress/"
ServerName my_site_url
ServerAlias www.my_site_url
<Directory "/mnt/NAS/wp_data/wordpress/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
นี่คือของฉัน พอร์ต apache.conf:
#ฟัง80
ฟัง 8081
นี่คือของฉัน การกำหนดค่า nginx:
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง [::]:80;
ชื่อเซิร์ฟเวอร์ my_site_url;
เขียนใหม่ ^ https://$server_name$request_uri? ถาวร;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
ฟัง [::]:443 ssl;
ชื่อเซิร์ฟเวอร์ www.my_site_url my_site_url;
ที่ตั้ง / {
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_pass http://127.0.0.1:8081;
}
ssl_certificate /var/www/mycert/certificate.pem;
ssl_certificate_key /var/www/mycert/private.key;
}
สุดท้าย แต่ไม่ท้ายสุดของฉัน wp-config.php เป็นค่าเริ่มต้นและฉันยังไม่ได้เพิ่มสิ่งอื่นใดนอกจาก
ถ้า ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) {
ถ้า ( 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'เปิด';
}
}
ถ้า ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
}