Mit ‘https’ getaggte Artikel

WordPress mit HTTPS

von MichiK am 9. Februar 2011 um 19:03 Uhr

Nachdem ich hier schon vor Jahren einige Mühe mit HTTPS hatte und es nun auch gestern noch nicht so wollte, scheint sich meine nicht sehr elegante, aber dafür kurze und schmerzlose Lösung nun zu bewähren. Was habe ich gemacht? In wp-config.php steht nun:

if ($_SERVER['HTTPS']) {
define('WP_HOME','https://amish-geeks.de');
define('WP_SITEURL','https://amish-geeks.de');
} else {
define('WP_HOME','');
define('WP_SITEURL','');
}

Wer per HTTPS kommt, bekommt somit automatisch https://-Links, wer per HTTP kommt, entsprechend http://. Auch im Administrationsinterface funktioniert das problemlos (hier wird man jedoch nicht automatisch zu HTTPS gezwungen).

Eine solche Lösung eignet sich übrigens auch, wenn das selbe Blog unter mehreren, gleichberechtigten URLS zu erreichen sein soll. Dann benutzt man einfach anstelle des festen Hostnamens $_SERVER['HTTP_HOST'].

Serverumzug mit Fallstricken

von MichiK am 8. Februar 2011 um 19:25 Uhr

Ich habe mir mal wieder einen neuen virtuellen Server gegönnt, nachdem die technischen Daten des alten nicht mehr zeitgemäß waren und es für das selbe Geld beim selben Hoster im neuen Paket deutlich mehr gab. Der Umzug des Blogs lief reibungslos, bei der Gelegenheit habe ich dann auch mal auf die aktuellste WordPress-Version geupdatet und das hat auch wunderbar funktioniert, out of the box, ohne Gefrickel. Ich bin beeindruckt.

Außerdem habe ich das Plugin W3 Total Cache installiert, was gefühlt die Seitenaufrufe nochmal ein Stück schneller macht. Jetzt müsste man nur fefe mal wieder dazu bringen, dass er uns verlinkt, dann wissen wir auch, ob es was bringt.

Aber zum eigentlich Thema: Der meiste Webkram, Tetrinet und mein irssi haben den Umzug problemlos überstanden, SILC hat kurz gehustet und Apache hatte einen kleinen Schluckauf, aber das Konglomerat aus postfix, dovecot, saslauthd, policyd-weight, spamassassin und procmail, das sich um meine Mails kümmert, war nicht ganz so pflegeleicht. Bei Debian gehört in /etc/default/saslauthd ein

OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd”

damit postfix auch von seinem chroot aus die SMTP-Authentifizierung hinbekommt. Trotzdem hat es dann noch nicht funktioniert.

Was war die Ursache? Der Benutzer “postfix” muss in der Gruppe “sasl” sein. Darauf muss man erstmal kommen…

P.S.: Von der HTTPS-Front gibt es auch Neuigkeiten. Bisher ist man wieder auf der HTTP-Version gelandet, wenn man oben auf den Blog-Titel klickt. Das ist jetzt abgestellt. Dennoch wird weiterhin von HTTPS auf HTTP umgeschaltet, wenn man einen Kommentar verfasst. Da hat nicht zufällig jemand eine Idee?

P.P.S.: Als nächsten Schritt habe ich nun auch das heftig angepasste WordPress-Theme aktualisiert (und wieder heftig angepasst…) und mittels eines fiesen, aber simplen Hacks HTTPS nun wohl ordentlich zum Laufen gebracht. Wer Probleme findet (hoffentlich nicht), darf hier gerne davon berichten.

P.P.P.S.: Leider beißt sich HTTPS mit dem Caching – irgendwas is’ ja immer… Vorerst gewinnt HTTPS.

HTTPS…

von MichiK am 19. Dezember 2007 um 06:53 Uhr

Es scheint ein ganz schöner Akt zu sein, WordPress beizubringen, dass man gerne HTTP und HTTPS parallel verwenden möchte. Wer der Blog über HTTPS nutzen möchte, kann das seit gestern wieder tun, einfach mal das http:// in der URL durch ein https:// ersetzen, schon kommt die Seite verschlüsselt durchs Netz.

Einziges Problem: WordPress verwendet intern absolute URLs. Das bedeutet, sobald man auf einen Link klickt, ist man wieder über HTTP unterwegs, da in der Datenbank nunmal die HTTP-URL als Basis für alle Links eingetragen ist. Ich möchte allerdings auch niemanden zwingen, HTTPS zu benutzen – jeder soll das selbst entscheiden. Nicht zuletzt gibt es auch Feedreader, die das nicht so gerne mögen und die will ich natürlich nicht aussperren.

Ich muss also WordPress irgendwie beibringen, zu erkennen, ob es über HTTP oder HTTPS aufgerufen wird. Einfach wäre es ja, wenn man das in einer Konfigurationsdatei einstellen könnte. Dann könnte man zwei Installationen machen, die absolut gleich sind, bis auf diese eine Datei. Geht aber nicht, denn diese Einstellung steht in der Datenbank. Die Datenbank bis auf einen einzelnen Eintrag spiegeln? Unpraktikabel…

Also wird mir als einzige Lösung nur bleiben, in der Funktion, wo WordPress sich seine eigene Basis-URL holt (und diese Funktion ist grundsätzlich zuständig für das Holen von Einstellungen aus der Datenbank) speziell darauf zu prüfen, ob die Seite grade über HTTP oder über HTTPS aufgerufen wurde und das dann jedesmal zu ersetzen…

Falls jemand bessere Ideen hat: Immer her damit!