Gisteren heb ik op mijn Raspberry Pi bij PCExtreme een proxy geïnstalleerd om zo mijn blog via https aan te bieden. Nu is enkel de verbinding op het netwerk van PCextreme onbeveiligd. Daarnaast is WordPress upgradet naar 3.9. Er werd nog een oude versie gebruikt, en ik botste dan ook op een probleem dat blijkbaar geïntroduceerd werd in versie 3.5. Sindsdien wordt de keuze tussen http en https in door WordPress gegenereerde URL's niet meer (alleen) gebaseerd op de URL uit de instellingen, maar (ook) op $_SERVER['HTTPS'], maar dat werkt natuurlijk niet aangezien de encryptie pas start vanaf de proxy. Er bestaat echter een plugin die dit oplost, al heb ik die wel aangepast, aangezien de JavaScript code volgens mij meer problemen kon veroorzaken dan oplossen.
Er is echter nog een klein ongemakje. Met name de editor plugin werkt niet meer, maar dat is geen prioriteit. Het is geen zo'n last om de bbcodes zelf te typen.
De proxy, daar had ik 2 opties, met name stud of nginx. Ik had eerst stud genomen, maar dan had ik enkel nog https, waardoor alle oude links niet meer zouden werken, en daarom koos ik toch voor nginx, via het pakket nginx-light. Bij stud had ik wel eerst een ander probleem, want het werkte gewoon niet. Uiteindelijk bleek het opgelost te zijn door de crt en key file samen te voegen in één pem file. Uiteindelijk koos ik dus voor nginx, en voor dit blog gebruik ik de volgende config:
server {
listen blog.online-urbanus.be:443;
ssl on;
server_name blog.online-urbanus.be;
ssl_certificate blog.pem;
ssl_certificate_key blog.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:ECDH+AES128:DH+AES256:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_prefer_server_ciphers on;
error_log /dev/null;
access_log /dev/null;
location / {
proxy_pass http://blog.online-urbanus-be.nl02.members.pcextreme.nl:80;
proxy_redirect off;
}
}
server {
listen 80;
server_name blog.online-urbanus.be;
error_log /dev/null;
access_log /dev/null;
return 301 https://blog.online-urbanus.be$request_uri;
}
De SSL configuratie is gebaseerd op dez pagina.
Daarnaast is ook de password hashing gewijzigd, zodat nieuwe wachtwoorden niet langer md5 zullen gebruiken.