I'm trying to run wordpress on a docker based cloud. The setup is:
There is a server running a mysql array, which serves a container with Wordpress Running on Nginx. The setup is copied from this dockerfile. The goal of this setup is to achieve a high throughput and be compatible with our cloud setup.
The wordpress container has a local ip, in the same subnet as the mysql array and Nginx reverse proxy, and a public port to run http (not https).
The reverse proxy is configured to run SSL for the wordpress container. Navigation works on both http and https, but when I try to log in the dashboard with HTTPS, I get this error:
You do not have sufficient permissions to access this page.
The only meaningful error I found happens when I log in on the dashboard, on HTTP:
[04-Nov-2014 23:16:13 UTC] PHP Notice: Undefined index: HTTP_X_FORWARDED_PROTO in /usr/share/nginx/www/wp-config.php on line 86
but the dashboard works correctly on http.
In Wordpress configuration file I had to add the line:
/* SSL Proxy */
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';
And I think this is the culprit. I found this tip in the official wordpress documentation, and without it HTTPS doesnt load the CSS, either logged or not logged. I think maybe I should modify this line to suit my configuration?
Either this, or the nginx reverse proxy configuration file, I have no idea.
The nginx configuration file in the wordpress + nginx container is quite standard, and it's copied from here.
Please help me :D
$_SERVER
i.e.) and see what happens... It might be that one of you nginx-servers just messes up the headers?fastcgi_params
?