tas2580
Blog über Webentwicklung

phpBB richtig auf HTTPS umstellen

tas2580  

Da in letzter Zeit immer wieder die Frage kommt wie man ein phpBB Forum auf HTTPS umstellt ohne, dass es Probleme gibt will ich hier mal eine Kurze Anleitung schreiben. Immer mehr Browser zeigen auf Webseiten ohne HTTPS eine Warnung an, deshalb sollte man so langsam anfangen alle seine Webseiten umzustellen. Gerade bei Foren macht eine SSL Verbindung Sinn da ohne SSL sämtliche Daten wie Passwörter beim anmelden oder private Nachichten in Klartext durch das Netz gehen und von jedem mitgelesen werden können.

Zertifikat besorgen

Damit man die Webseite ohne Warnung über HTTPS aufrufen kann benötigt man ein gültiges Zertifikat für jede (Sub) Domain die man über HTTPS nutzen möchte. Wenn man sehr viele Subdomains verwendet oder immer mal wieder welche anlegt empfiehlt sich ein "Wildcard" Zertifikat das dann für die Domain und alle Subdomains gültig ist.

Wer einen eigenen Server betreibt kann sich dank Let's Encrypt kostenlos beliebig viele Zertifikate ausstellen lassen. Alternativ kann man auch einfach den Caddy Webserver verwenden der für alle angelegten Domains automatisch Zertifikate erstellt.

Wer sein Forum auf normalem Webspace betreibt muss bei seinem Anbieter schauen ob der SSL Zertifikate anbietet, die meisten Anbieter stellen mittlerweile kostenlose Zertifikate für ihre Kunden bereit. Wie man das Zertifikat bei seinem Anbieter beantragt und aktiviert erfährt man über den Support des jeweiligen Anbieters.

Sollte der Webspace- oder Domain- Anbieter keine Zertifikate anbieten kann man über Cloudflare wenigstens die Verbindung zum Nutzer über HTTPS absichern.

Nachdem man das Zertifikat richtig installiert hat sollte sich die Webseite unter https://example.com aufrufen lassen ohne, dass der Browser dabei eine Warnung ausgibt.

phpBB Umstellen

Wenn der Aufruf der Seite über HTTPS funktioniert muss man noch ein paar Kleinlichkeiten an der Forensoftware anpassen. dazu sind zu erst mal die Einstellungen im Administrationsbereich wichtig.

Cookie Einstellungen

Damit die Cookies die das Forum setzt über HTTPS ausgeliefert werden muss unter Allgemein -> Coockies die Option Sicherer Server aktiviert werden. Danach sind die alten Cookies ungültig und alle Benutzer müssen sich einmalig neu anmelden.

phpBB Cookie Einstellungen

Server Einstellungen

Um dem Webserver zu sagen, dass er das Forum über HTTPS ausliefern soll muss unter Allgemein -> Server und Domain die bei Server-Protokoll https:// statt http:// eingetragen werden. Außerdem muss man bei Server-Port 443 statt wie bisher 80 eintragen. Die Einstellung Erzwinge Server-URL-Einstellungen sollte man auf Ja stellen damit das Forum in Zukunft die HTTPS URL für die Kanonische URL ausgibt.

phpBB Server Einstellungen

Nun ist man mit den Einstellungen im Adminbereich erst mal fertig und kann das Forum unter HTTPS aufrufen und testen ob alles wie gewünscht funktioniert.

Externe Ressourcen

Wenn eine Webseite über HTTPS aufgerufen wird müssen auch alle eingebundenen Ressourcen über HTTPS aufgerufen werden, hier liegt meistens das größte Problem bei der Umstellung auf HTTPS. Das ist gerade bei Foren ein Problem da dort immer mal wieder Benutzer Bilder von nicht HTTPS Seiten in ihren Beiträgen verwenden was dann zu einer Warnung im Browser führt. Um das Problem zu vermeiden kann man die externe Bilder als Link Erweiterung benutzen die alle extern eingebundenen Bilder nicht direkt anzeigt sondern verlinkt. Auf nicht HTTPS Seiten zu verlinken ist kein Problem, nur direkt eingebunden werden darf eben nichts über HTTP.

Ein weiteres Problem sind Avatare die von externen Servern verwendet werden. Hier sollte man also das verwenden von externen Avataren komplett verbieten und die Benutzer dazu zwingen ihre Avatare direkt auf den Server zu laden.

Wer in sein Style weitere Ressourcen wie Benutzerzähler oder Banner eingebunden hat sollte auch die Überprüfen, vor allem JavaScripts werden vom Browser blockiert wenn sie von einem unsicheren Server kommen.

Webserver konfigurieren

Zum Schluss sollte man noch ein paar Anpassungen an der Konfiguration des Webservers machen.

HTTP Strict Transport Security

Um sicherzustellen, dass die Seite in Zukunft nur noch über HTTPS aufgerufen wird kann man HTTP Strict Transport Security aktivieren, dazu macht man folgenden Eintrag in seiner .htaccess Datei.

Header set Strict-Transport-Security "max-age=31536000"

Die hinter max-age angegebene Zahl gibt an für wie viele Sekunden die Domain nur über HTTPS aufgerufen werden darf. Hier muss man sicherstellen, dass man auch für die angegebene Zeit ein Zertifikat besitzt da sich die Seite nachdem der Header einmal gesetzt wurde nur noch über HTTPS aufrufen lässt.

301 Weiterleitung

Bevor man den Schritt macht sollte man erst mal warten bis Google das Forum über HTTPS im Index hat. Das kann man ganz einfach mit der suche nach site:example.com bei Google prüfen. Hier sollte möglichst alle URLs mit HTTPS angezeigt werden. Nach der Umstellung des Forums kann es einige Zeit dauern bis Google die Seite neu indiziert hat. Wenn man direkt eine Umleitung auf HTTPS erzwingt kann es vorkommen das man seine Rankings verliert, also lieber erst mal langsam machen und Google etwas Zeit geben.

Wenn die Domain per HTTPS im Index ist kann man über seine .htaccess die verwendung von HTTPS erzwingen, dazu macht man folgenden Eintrag in der .htaccess:

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Weitere Umstellungen

Wer die Google Webmaster Tools verwendet sollte dort die Seite nochmal neu mit HTTPS eintragen und alle Sitemaps neu einreichen. Wenn man die Möglichkeit hat Links zum Forum zu bearbeiten sollte man auch die alle umstellen.

Zum Schluss kann man dann auf ssllabs.com sein Zertifikat testen.


Ähnliche Beiträge


Kommentare

Ein sehr gutes How-To, um ein PHPBB-Forum mit SSL-Zertifikat zu betreiben. Allerdings fehlte mir persönlich der Hinweis, den Chache des Forums zu löschen, aber explizit auch der Hinweis, den Cache des Browsers zu leeren und die Cookies zu löschen:
Ich habe einige Versuche unternommen, bis es funktioniert hat und schlussendlich scheiterten alle daran, dass ich den Browser-Cache nicht geleert habe! Das könnte man mit einem Hinweis ganz einfach umgehen.
Ebenfalls wäre die Erwähnung einer PHP-Datei, mit welcher man die Cookie- und Server-Settings des Forums bearbeiten kann, ohne zwingend auf den Administrationsbereich zugreifen zu können. Die Datei heisst "read_cookie_settings.php" und dürfte bei "phpbb.de" und bei "phpbb.com" zu finden sein.

Wie lange dauert es in etwa bis Google das Forum auf https umgestellt hat?

Das kommt drauf an wie oft Google deine Domain crawlt. Normalerweise sollte nach einem Monat das meiste mit https im Index sein.

Ich habe mit dieser Anleitung phpbb 3.2.2 auf https umgestellt. Jetzt erhalte ich beim Senden eines Posts einen server error 500.
Hat jemand eine Idee?
Gruß
Wolfgnang

Ergänzung: ich kann im Admin auch nicht mehr ändern, da ich auf einen Serverfehler 500 komme.
Wo stehen die oben genannten Werte in der DB, damit ich manuell ändern kann?

Hast du die Änderung an der .htaccess auch gemacht? Falls ja, nim die mal wieder Raus. Die Einstellungen im ACP dürften eigentlich nicht zu einem 500 führen. Sonst mach mal error_reporting an.

in der htaccess war es nicht (mehr) drin.
Der Fehler ist:
2018-06-30 12:38:31 2003:e2:d3ef:3800:5c14:2fe8:f3eb:7d58:63883 AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer http://boiled-ice.de/ucp.php?mode=login&sid=3fd326f2937a0064b0dd5d58570babc9

ich sehe keine Bilder mehr

https://duwirstvermisst.de
habe alles gemacht wie hier beschrieben. Habe aber alles wieder aus dem
.htaccess gelöscht was du hier eschrieben hast weil das forum nicht mehr zeitlich aufrufbar ist. Ich hab echt Probleme.
lg Sina

Bei deinen Bildern kommt "Du bist nicht berechtigt, diese Seite anzusehen, von ihr herunterzuladen oder auf sie zu linken." wenn man sie über HTTPS aufruft.

Hast du server_name in der Konfiguration auf https:// geändert?
Schau mal bei den Sicherheitseinstellungen nach der Variable secure_downloads

habe https eingestellt, habe aber alles andere, was du geschrieben hast und ich so nachvollzogen habe, wieder rückgängig gemacht. Weil eben nichts mehr richtig ging. Die Seiten wurden als Fehlerseite ausgegeben..oder konnten nicht aufgerufen werden, Bilder nicht mehr angezeigt!
Ich bin da so voll unsicher mit. Es scheint aber im Moment zu laufen mit dem Schloss im Browser. Wo finde ich die Sicherheitseinstellung und secure_downloads??
Habe phpbb 3.2.5

@Wolfgang Conzendorf
Haben Sie bei Allgemein -> Server und Domain auch den Pfad für phpbb geändert?


Bitte warten ...

Kommentar schreiben

URLs werden automatisch umgewandelt.
[b]DEIN TEXT[/b] für Fett gedruckt
[quote]DEIN ZITAT[/quote] für Zitate
[code]DEIN CODE[/code] für Code
captcha