HAN KOOK Hamburg

HTTPS aufsetzen

für die Liste aller Seiten

Administratoren

Die Internetgemeinde bewegt sich rasch in Richtung sicherer Webseiten, indem sie HTTPS (Hypertext Transfer Protocol Secure) nutzt.

Bedenken Sie, dass HTTPS und mobile friendly als Rankingkriterien von Suchmaschinen benutzt werden.

Diese Seite ist ein Platzhalter und dient dazu, Informationen von der E-Mail-Liste und von Rezepten im Hauptteil von PmWiki zusammenzutragen.

Behandlung von HTTPS-Anfragen durch PmWiki

PmWiki antwortet jetzt schon angemessen auf HTTPS-Anfragen – es erkennt, wenn eine Anfrage über HTTPS hereinkommt und wandelt seine herausgehenden Verweise entsprechend um. Das bedarf keiner neuen Variablen.

Wenn Sie alle PmWiki-Verweise zwingen wollen, HTTPS zu benutzen, passen Sie $ScriptUrl und $PubDirUrl entsprechend an.

Die docs/sample-config.php-Datei enthält:

# $ScriptUrl = 'http://www.mydomain.com/path/to/pmwiki.php';
# $PubDirUrl = 'http://www.mydomain.com/path/to/pub';

Sie möchten Sie vielleicht ändern in:

$ScriptUrl = 'https://'.$_SERVER['HTTP_HOST'].'/pmwiki/pmwiki.php';
$PubDirUrl = 'https://'.$_SERVER['HTTP_HOST'].'/pmwiki/pub';

Es besteht eine gute Chance, dass eine Site $ScriptUrl ohnehin schon in der local/config.php-Datei gesetzt hat – das ist schließlich eines der ersten Dinge, die in docs/sample-config.php erwähnt werden, auch in der Dokumentation der ersten Einstellungen.

Es wäre gut, die Einstellungen in der docs/config.sample.php-Datei zu ergänzen, sodass sie etwa das Folgende einschließt:

# If you prefer HTTPS over HTTP linkages:
   # $UrlScheme = 'https';
   # $ScriptUrl = 'https://www.mydomain.com/path/to/pmwiki.php';
   # $PubDirUrl = 'https://www.mydomain.com/path/to/pub'; 

PmWiki leitet HTTP automatisch auf HTTPS um

PmWiki dazu zu bringen, automatisch HTTP-Anfragen auf HTTPS umzuleiten, … das klingt nach einem Rezept. Und es wäre sowieso viel effizienter, das auf dem Webserver-Niveau zu behandeln (z. B. über .htaccess, Redirect, etc.).

Fügen Sie am Beginn der config.php-Datei für Versionen nach 2.2.0-beta18 ein:

if ($UrlScheme == 'http') {
  header( "Location: " . "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
  exit('<html><body>
    <a href="https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '">Please use HTTPS</a>
    </body></html>');
}
$ScriptUrl = "https://".$_SERVER['HTTP_HOST']."/pmwiki/pmwiki.php";
$PubDirUrl = 'https://'.$_SERVER['HTTP_HOST'].'/pmwiki/pub';

Zertifikate

Sie brauchen ein Zertifikat von einer Certificate Authority (CA), ein selbst-signiertes Zertifikat ist nicht mehr länger angemessen[1].

  • Let’s Encrypt ist eine freie, automatisierte und offene Certificate Authority.
    • EFFs CertBot erteilt Let's-Encrypt-Zertifikate, um Ihr PmWiki automatisch HTTPS-fähig zu machen.
    • Certify the Web bietet einen Windows-nativen-Klienten zum Abrufen und Installieren eines Let's-Encrypt-Zertifikats.

.htaccess für HTTPS benutzen

Fügen Sie in einer .htaccess-Datei im public_html-Verzeichnis das Folgende an oder erzeugen Sie ggf. eine solche Datei mit dem Inhalt. Fügen Sie folgende Zeilen hinzu:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Stellen Sie sicher, dass die Zeile RewriteEngine On nicht doppelt auftaucht [2].

HTTPS beim IIS aufsetzen

Die folgenden Schritte helfen, PmWiki mit HTTPS auf IIS zum Laufen zu bekommen.

  • Folgen Sie den obigen Schritten, um HTTPS in PmWiki zu aktivieren und besorgen Sie sich ein SSL-Zertifikat.
  • In IIS wählen Sie den Server und 'Server Certificates'.
    • Wenn Ihr Zertifikat hier noch nicht zu sehen ist (z. B. von LetsEncrypt), importieren Sie es.
    • Aktivieren Sie Automatic Rebind für das erneuerte Zertifikat.
  • Wählen Sie in IIS die zu sichernde Website.
    • Wählen Sie die 'Binding action', fügen eine Bindung vom Typ https für Ihren Hostnamen hinzu, wählen Sie dann das zu benutzende SSL-Zertifikat.

Sie können Ihre http-Zugriffe auch auf https umleiten.

Prüfen Sie auch

  • Ihr Router ist so eingestellt, dass er Datenaustausch über Port 443 (HTTPS) erlaubt.
  • Ihre Firewall ist so eingestellt, dass sie Datenaustausch über Port 443 (HTTPS) erlaubt.
  • IIS SSL Einstellungen sind eingestellt auf Client certificates: ignore

Ein einfacherer Weg

Sie könnten statt dessen auch einfach das Folgende machen:

$ScriptUrl = '//your-host-name.com/pmwiki/pmwiki.php';
$PubDirUrl = '//your-host-name.com/pmwiki/pub';

Sie müssten nur alle 'http:' oder 'https:' entfernen, allerdings bricht das die Kompatibilität mit älteren Browsern und einigen PmWiki-Rezepten wie googledocviewer, seien Sie vorsichtig.

Referenzen

für die Liste aller Seiten


Originalseite auf PmWikiDe.SetupHTTPS   —   Rückverweise

Zuletzt geändert:   PmWikiDe.SetupHTTPSam 08.06.2020