Leider lies sich das Update nicht länger hinauszögern. Debian 6 läuft langsam aus und die Pakete (php5, openssl…) sind veraltet. Also hab ich den Server jetzt auf Debian 8 Jessie upgedatet.
Das ganze lief recht reibungslos.Natürlich mussten ein paar Konfigs angepasst werden, aber das ist nichts Besonderes bei so einer Aktion.
Nginx für https/TLS, SPDY und HSTS einrichten
Die neue Version von Nginx unterstützt nun auch spdy in der aktuellen Version. Also habe ich jetzt das Blog und ein paar andere Seiten direkt auf https umgestellt.
Dazu brauchte ich jedoch ein neues SSL-Zertifikat. Das gibt es kostenlos bei StartSSL.
Dabei darf dann auch der Statistik-Server unter Piwik nicht vergessen werden! Der muss auch über https mit gültigem Zertifikat erreichbar sein, sonnst lädt der Browser die Ressource nicht und zeigt eine Warnung.
Jetzt wo die Verbindung mit tls gesichert ist und Niemand mehr den Inhalt mitlesen kann,kommt die Security-Mafia mit dieser Meldung hier um die Ecke: Malware kommt immer häufiger über https in Firmennetze
Die wollen ernsthaft die Sicherheit wieder aufbrechen um nach Malware zu suchen? Toll, dann könnten Wir uns die ganze Verschlüsselung gleich sparen. Auch reißen wir dabei gleich ein neues Sicherheitsloch auf. Wenn ich der Firewall (als Stellvertreter) vertraue, überlasse ich dieser auch die Zertifikatsprüfung. Ganz großes Kino, ich habe damit also keinerlei Kontrolle mehr über die Sicherheit meiner Verbindung. Ich glaub die NSA freut sich schon.
Nächste Baustelle, Nginx und IPv6
IPv6 unterstützte ich ja auf einigen Webseiten schon länger. Jedoch hatte ich entweder ein Konfigurations-Fehler oder das Verhalten hat sich mit der neueren Nginx-Version geändert.
daher hier jetzt mal wie es aktuell bei mir funktioniert,mit IPv6, HTTPS, SPDY, HSTS und Umleitung auf https:
server {
# IPv6, ssl und spdy aktivieren
listen 80;
listen [::]:80;
listen 443 ssl spdy;
listen [::]:443 ssl spdy;
# Zertifikat und Schlüssel
ssl_certificate /etc/nginx/certs/gettoweb_startssl.crt;
ssl_certificate_key /etc/nginx/certs/gettoweb_startssl.key;
# HSTS aktivieren
add_header Strict-Transport-Security "max-age=31536000;";
server_name www.gettoweb.de gettoweb.de;
# Immer auf https umleiten
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
Die nächste Baustelle: PHP5.6 und UTF-8
Mit der neuen PHP-Version ist UTF-8 jetzt Standard geworden. Das kann natürlich zu Umlaut-Problemen führen. Insbesondere war hier ein altes phpBB2-Forum betroffen. Natürlich hätte man das wieder in der Datenbank und Sprach-Dateien berichtigen können, aber phpBB2 wird schon lange nicht mehr mit Sicherheitsupdates versorgt. Damit war der Umstieg eigentlich unvermeidbar. Dank Konverter läuft das Forum jetzt unter SMF :)
Die letzte Herausforderung: PHP5-FPM Abstürze
Immer wieder war die PHP5-Sock nicht erreichbar und Nginx lieferte damit eine 502 zurück. Nach einigen Versuchen scheint der Fehler wohl im opcache zu stecken. Diesen habe ich deaktiviert und bin zu xCache zurück. Die Konfiguration scheint jetzt stabil zu laufen. Zumindest die letzten 3 Tage.
Leider kann ich jedoch nichts von dem versprochenen Performance-Gewinn sehen. Zumindest auf meinem alten Single-Core-Server sind die Antwortzeiten weiterhin viel zu lang. 500ms bis zum ersten Bit sind einfach zu viel, ich weiß. Aber nur deswegen werde ich keinen neuen Server mieten, nö! Dafür ist die Webseite einfach nur Hobby.