WordPress https dietro un proxy nginx

WordPress é parecchio stupido, non si accorge se la richesta é http o https quando é dietro un proxy come nginx. Allora dobbiamo dirglielo specificatamente che é https in questo modo.

In wp-config.php aggiungiamo queste due righe
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';

Mentre nella configurazione di nginx aggiungiamo X-Forwarded-Proto in questo modo:
server {
listen 443 ssl;
server_name blog.alorenzi.eu;
ssl_certificate /etc/nginx/ssl/alorenzi.eu.chained.crt;
ssl_certificate_key /etc/nginx/ssl/alorenzi.eu.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://prd-web-alorenzi;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
}
}