Project

General

Profile

Actions

Wiki » History » Revision 1

Revision 1/8 | Next »
Gareth Eaton, 03/07/2023 05:57 AM


Wiki

If WordPress is unable to determine when requests are made over HTTPS, causing it to be incapable of serving HTTPS-specific content.
Web browsers nowadays usually prohibit loading insecure content within pages that are accessed via HTTPS, which results in predictable issues.

The the fix is in wp-config.php add the following,

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
  $_SERVER['HTTPS'] = 'on';
} 

And in the NGINX config Add,

server {
    listen 443;
    server_name blog.ldev.app;
    ssl on;     ssl_certificate /etc/pve/local/nginx/ldev-ssl.pem;
    ssl_certificate_key /etc/pve/local/nginx/ldev-ssl.key;
    proxy_redirect off;
    location / {
        proxy_set_header        Host $host:$server_port;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_pass http://*YOUR IP AND PORT*;
    }
}

If your using Nginx Proxy Manager point to the root dir in Custom locations, and in the Advanced tab, use the Custom Nginx Configuration below

proxy_set_header        Host $host:$server_port;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header        X-Forwarded-Proto $scheme; 

Updated by Gareth Eaton over 1 year ago · 1 revisions