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'];
}