Personen mit Administratorberechtigungen für ein Repository können HTTPS für eine GitHub Pages Website erzwingen.
Informationen zu HTTPS und GitHub Pages
Alle GitHub Pages Websites, einschließlich Websites, die ordnungsgemäß mit einer benutzerdefinierten Domäne konfiguriert sind, unterstützen HTTPS- und HTTPS-Erzwingung. Weitere Informationen zu benutzerdefinierten Domänen findest du unter Informationen zu benutzerdefinierten Domänen und GitHub Seiten und Problembehandlung für benutzerdefinierte Domänen und GitHub Seiten.
GitHub Pages Websites, die nach dem 15. Juni 2016 erstellt wurden und Domänen verwenden github.io , werden automatisch über HTTPS bereitgestellt.
GitHub Pages-Websites sollten nicht für Transaktionen sensibler Daten verwendet werden, also beispielsweise nicht für das Senden von Passwörtern oder Kreditkartennummern.
Warnung
GitHub Pages Websites sind im Internet öffentlich verfügbar, auch wenn das Repository für die Website privat ist (wenn Ihr Plan oder Ihre Organisation es zulässt). Wenn das Repository deiner Website vertrauliche Daten enthält, solltest Du diese vor der Veröffentlichung entfernen. Weitere Informationen finden Sie unter Informationen zu Repositorys.
Hinweis
RFC3280 legt fest, dass die maximale Länge des allgemeinen Namens 64 Zeichen betragen sollte. Daher muss der gesamte Domänenname Ihrer GitHub Pages Website weniger als 64 Zeichen lang sein, damit ein Zertifikat erfolgreich erstellt werden kann.
Erzwingen von HTTPS für Ihre GitHub Pages Website
-
Navigiere auf GitHub zum Repository deiner Website.
-
Klicke unter dem Repositorynamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

-
Klicken Sie im Abschnitt "Code, Planung und Automatisierung" der Randleiste auf "Seiten".
-
Wählen Sie unter "GitHub Pages, https erzwingen" aus.
Problembehandlung bei der Zertifikatbereitstellung (Fehler „Zertifikat noch nicht erstellt“)
Wenn Du Deine benutzerdefinierte Domäne in den Seiteneinstellungen einstellst oder änderst, beginnt eine automatische DNS-Überprüfung. Diese Überprüfung bestimmt, ob Ihre DNS-Einstellungen so konfiguriert sind, dass GitHub automatisch ein Zertifikat erhalten kann. Wenn die Überprüfung erfolgreich ist, wird ein Auftrag in die Warteschlange gestellt, GitHub um ein TLS-Zertifikat von Let's Encrypt anzufordern. Beim Empfangen eines gültigen Zertifikats lädt es automatisch auf die Server hoch, GitHub die TLS-Beendigung für Seiten verarbeiten. Wenn dieser Vorgang erfolgreich abgeschlossen ist, wird neben Deinem benutzerdefinierten Domänennamen ein Häkchen angezeigt.
Dieser Vorgang kann eine Weile dauern. Wenn der Vorgang einige Minuten nach dem Klicken auf Speichern noch nicht abgeschlossen ist, klicke auf Entfernen neben Deinem benutzerdefinierten Domänennamen. Gib den Domänennamen erneut ein, und klicke erneut auf Speichern. Dadurch wird der Bereitstellungsprozess abgebrochen und neu gestartet.
Probleme bei gemischten Inhalten beheben
Wenn Sie HTTPS für Ihre GitHub Pages Website aktivieren, der HTML-Code Ihrer Website jedoch weiterhin auf Bilder, CSS oder JavaScript über HTTP verweist, stellt Ihre Website gemischte Inhalte bereit. Durch das Bereitstellen gemischter Inhalte kann Deine Website weniger sicher werden und Probleme beim Laden der Ressourcen verursachen.
Sollen die gemischten Inhalte Deiner Website entfernt werden, stelle zunächst alle Objekte über HTTPS bereit. Ersetze hierzu http:// in der HTML Deiner Website durch https://.
Assets befinden sich meist an den folgenden Standorten.
- Wenn auf deiner Website Jekyll verwendet wird, findest du deine HTML-Dateien wahrscheinlich im Ordner
_layouts. - CSS wird in der Regel im Abschnitt
<head>Deiner HTML-Datei gefunden. - JavaScript wird in der Regel im Abschnitt
<head>oder direkt vor dem schließenden</body>Tag gefunden. - Bilder werden häufig im
<body>Abschnitt gefunden.
Tipp
Wenn Sie Ihre Ressourcen nicht in den Quelldateien Ihrer Website finden können, suchen Sie die Quelldateien http:// Ihrer Website in Ihrem Text-Editor oder auf GitHub.
Beispiele für referenzierte Objekte in einer HTML-Datei
| Ressourcentyp | HTTP | HTTPS |
|---|---|---|
| CSS | <link rel="stylesheet" href="http:/ | <link rel="stylesheet" href="https:/ |
| JavaScript | <script type="text/ | <script type="text/ |
| Abbildung | <a href="http:/ | <a href="https:/ |
Überprüfen der DNS-Konfiguration
In einigen Fällen kann ein HTTPS-Zertifikat aufgrund der DNS-Konfiguration Ihrer benutzerdefinierten Domäne nicht generiert werden. Dies kann durch zusätzliche DNS-Einträge oder Datensätze verursacht werden, die nicht auf die IP-Adressen verweisen.GitHub Pages
Um sicherzustellen, dass ein HTTPS-Zertifikat ordnungsgemäß generiert wird, empfehlen wir die folgenden Konfigurationen. Alle zusätzlichen A, , AAAA, ANAME``ALIASDatensätze mit dem @ Host oder CNAME Datensätze, die auf Ihre www Unterdomäne oder andere benutzerdefinierte Unterdomäne verweisen, die GitHub Pages Sie verwenden möchten, können verhindern, dass das HTTPS-Zertifikat generiert wird.
| Szenario | DNS-Eintragstyp | Name des DNS-Eintrags | Wert(e) des DNS-Eintrags |
|---|---|---|---|
| Apex-Domäne ( example.com) | A | @ | 185.199.108.153185.199.109.153185.199.110.153185.199.111.153 |
| Apex-Domäne ( example.com) | AAAA | @ | 2606:50c0:8000::1532606:50c0:8001::1532606:50c0:8002::1532606:50c0:8003::153 |
| Apex-Domäne ( example.com) | |||
ALIAS oder ANAME | @ | ||
USERNAME.github.io oderORGANIZATION.github.io | |||
| Unterdomäne ( www.example.com, | |||
blog.example.com) | CNAME | SUBDOMAIN.example.com. | |
USERNAME.github.io oderORGANIZATION.github.io |