Score:0

ไม่สามารถเข้าถึง Wordpress Dashboard ด้วย nginx reverse proxy

ธง sd

ฉันประสบปัญหาเล็กน้อยเมื่อตั้งค่า 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'];
}
Mrwut avatar
ng flag
มันทำงานโดยไม่มี ssl หรือไม่? ลองใส่ยังครับ `define('FORCE_SSL_ADMIN', true);` ที่จุดเริ่มต้นของไฟล์ปรับแต่งและดูว่าจะช่วยได้หรือไม่
sd flag
ฉันลองเพิ่มแล้ว ไม่ได้สร้างความแตกต่าง Btw ฉันใช้โฟลเดอร์ที่กำหนดเองซึ่งฉันมีไดเร็กทอรี wordpress ตามที่แสดงด้านบน ฉันไม่ได้ใช้ /var/www/ หรือ /var/www/html ฉันใช้ /mnt/NAS/wp_data/wordpress directory ฉันได้เพิ่มสิ่งนี้ใน apache.conf และฉันได้เพิ่มลงใน www-data:www-data ในทางเทคนิคนั้นไม่น่าจะมีปัญหา ฉันไม่สามารถเข้าสู่พื้นที่ wp-admin มันบอกว่าคุณไม่ได้รับอนุญาตให้เข้าถึงสิ่งนี้ อย่างไรก็ตาม ฉันสามารถใช้โฟลเดอร์เดียวกันและไฟล์เดียวกันได้โดยการลบ nginx proxy และใช้ apache ธรรมดาเหมือนเมื่อก่อน คำแนะนำเพิ่มเติมใด ๆ ที่จะได้รับการชื่นชมอย่างสูง ขอบคุณ!
Mrwut avatar
ng flag
ฉันตั้งใจจะเพิ่มลงใน wp-config.php หากคุณเพิ่มเข้าไปแล้วและผลลัพธ์ก็ยังเหมือนเดิม คุณอาจลองค้นหาบรรทัดเช่น `define('DISALLOW_FILE_MODS',true);` ใน wp-config.php และหากมี คุณสามารถลอง ลบออกและดูว่าจะช่วยได้หรือไม่
sd flag
ไม่มีโชค. ฉันควรลองใช้ nginx เพียงอย่างเดียวสำหรับ wp แทน reverse proxy หรือไม่ หากเป็นเช่นนั้น คุณช่วยส่งตัวอย่างการกำหนดค่าที่มี ssl เพื่ออ้างอิงให้ฉันได้ไหม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา