Puncte:0

Imposibil de accesat Wordpress Dashboard cu reverse proxy nginx

drapel sd

Mă confrunt cu o mică problemă când configurez WordPress cu Nginx ca proxy invers pentru backend Apache. Toate paginile se încarcă, dar primesc o eroare când încerc să mă autent la tabloul de bord wp-admin. Eroarea este Ne pare rău, nu aveți voie să accesați această pagină.

Mi-am verificat permisiunile pentru fișiere, prefixul bazei de date, .htaccess și chiar privilegiile de administrator usermeta în db, toate par a fi perfecte. Site-ul funcționa perfect înainte de a configura reverse proxy nginx.

Aici e al meu apache2 config:

   <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>

Aici e al meu apache ports.conf:

   #Ascultă 80
   Ascultă 8081

Aici e al meu config nginx:

Server {
        asculta 80;
        asculta [::]:80;

        server_name my_site_url;

        rescrie ^ https://$server_name$request_uri? permanent;

}

Server {
        asculta 443 ssl;
        asculta [::]:443 ssl;

        server_name www.my_site_url my_site_url;

        Locație / {
                proxy_set_header Gazdă $gazdă;
                proxy_set_header X-Real-IP $adresă_la distanță;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $schema;
                proxy_pass http://127.0.0.1:8081;
        }

        ssl_certificate /var/www/mycert/certificate.pem;
        ssl_certificate_key /var/www/mycert/private.key;
}

Nu în ultimul rând al meu wp-config.php este implicit și nu am adăugat nimic altceva în afară de

dacă ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) {
dacă ( 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'activat';
}
}
dacă ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
}
Mrwut avatar
drapel ng
Funcționează fără ssl? De asemenea, încercați să puneți `define('FORCE_SSL_ADMIN', true);` La începutul fișierului de configurare și vedeți dacă vă ajută.
drapel sd
Am încercat să-l adaug, nu a făcut nicio diferență. Btw, folosesc un folder personalizat în care am directorul meu wordpress așa cum se arată mai sus. Nu folosesc /var/www/ sau /var/www/html, folosesc directorul /mnt/NAS/wp_data/wordpress. Am adăugat acest lucru la apache.conf și, de asemenea, l-am ales la www-data:www-data. Din punct de vedere tehnic, asta nu ar trebui să fie o problemă. Nu mă pot autentifica în zona wp-admin. Spune că nu aveți voie să accesați acest lucru. Cu toate acestea, pot folosi același folder și aceleași fișiere eliminând proxy nginx și folosind simplu apache ca înainte. Orice îndrumare suplimentară va fi foarte apreciată. Mulțumiri!
Mrwut avatar
drapel ng
Am vrut să-l adaug la wp-config.php. Dacă ați adăugat acolo și rezultatul este în continuare același, puteți încerca să căutați o linie precum `define('DISALLOW_FILE_MODS',true);` în wp-config.php, iar dacă este acolo, puteți încerca să sterge-l si vezi daca te ajuta.
drapel sd
Fără noroc. Ar trebui să încerc să folosesc nginx singur pentru wp în loc de proxy invers? Dacă da, ați putea să-mi oferiți un exemplu de configurare cu ssl de la care să vă referiți?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.