Wenn der Inhalt Ihrer Website nach der Integration in ein CDN nicht oder in ungeeigneter Weise geladen wird, können Sie mit dieser Anleitung gängige CDN-Probleme schnell beheben.
Bestimmen Sie, wo das Problem liegt: auf der Website oder der CDN-Ressource
Fordern Sie jede Datei, die über das CDN geliefert werden soll, von der Quelle (Ihrer Website) an und stellen Sie sicher, dass Sie einen HTTP 200-Antwortcode erhalten.
Ein Beispiel:
- example.com ist die Domain Ihrer Website;
- http ist das Protokoll;
- image.png ist der Pfad der Datei, die Sie anfordern möchten;
Die Anfrage sieht dann wie folgt aus:
curl -I http://example.com/image.png
Wenn die Datei korrekt geöffnet wird (HTTP 200-Antwortcode), hängt das Problem nicht mit der Website zusammen. Überprüfen Sie in diesem Fall die CDN-Optionen gemäß den unten stehenden Anweisungen. Wenn das Laden der Datei fehlschlägt (HTTP 4xx- oder 5xx-Antwortcodes), hängt das Problem mit dem Ursprung der Website zusammen, nicht mit dem CDN.
Überprüfen Sie die Einstellungen des CDN
1. Überprüfen Sie die Konfiguration der persönlichen Domain
Wenn der CNAME-Eintrag der persönlichen Domain nicht oder falsch konfiguriert ist, wird der Inhalt von der Quelle Server und nicht über das CDN geliefert. So überprüfen Sie den CNAME-Eintrag und richten ihn korrekt ein:
1. Gehen Sie zu den Ressourceneinstellungen und sehen Sie sich die Anleitung zur Einrichtung an. Klicken Sie auf die Beschriftung "x steps left", wenn diese vorhanden ist. Wenn keine Beschriftung vorhanden ist, fahren Sie mit dem nächsten Abschnitt fort.
2. Klicken Sie auf die Schaltfläche Status der DNS-Einrichtung prüfen.
Wenn der CNAME-Eintrag nicht eingerichtet ist, wird diese Meldung angezeigt:
Wenn es eine Benachrichtigung gibt, fahren Sie mit Schritt 3 fort. Wenn nicht, fahren Sie mit dem nächsten Abschnitt zur Fehlerbehebung fort.
3. Öffnen Sie Gcore DNS Lookup, geben Sie Ihren Domainnamen ein, drücken Sie auf "Suchen" und wählen Sie der Tab CNAME. Sie sehen die CNAME-Einträge, die mit Ihrer Domain verbunden sind. Vergleichen Sie den Wert des CNAME-Datensatzes mit dem Wert, den Sie in der Einrichtungsanleitung angegeben haben, sie sollten identisch sein.
Wenn sie identisch sind, bedeutet dies, dass Sie den CNAME-Eintrag bereits mit dem richtigen Wert konfiguriert haben, die DNS-Einträge aber nicht aktualisiert wurden. Wiederholen Sie Schritt 2 in 15 Minuten noch einmal. Es muss angezeigt werden, dass der Eintrag konfiguriert ist.
Wenn Sie die Meldung "Es wurden keine Einträge gefunden" sehen:
Fügen Sie den CNAME-Eintrag gemäß der Anleitung "Konfiguration des CNAME-Eintrags in den DNS-Einstellungen" hinzu.
4. Speichern Sie die Änderungen und warten Sie auf die Aktualisierung der Einträge. Normalerweise dauert dies 15 Minuten. Wenn Sie jedoch kürzlich die NS-Server der Domäne geändert haben, kann es bis zu 24 Stunden dauern, bis die DNS-Einträge aktualisiert sind.
Versuchen Sie noch einmal, den Inhalt vom CDN anzufordern. Wenn es sich um eine Frage der persönlichen Domäneneinstellungen handelte, wird das Problem nicht mehr auftreten.
2. Prüfen Sie die Option Host-Header
Wenn der Host-Header nicht mit der Website-Quelle übereinstimmt, kann Ihre Website keine Anfragen aus dem CDN verarbeiten, und der Inhalt wird nicht geladen. So prüfen Sie den Host-Header und richten ihn korrekt ein:
1. Gehen Sie zu den Ressourceneinstellungen und suchen Sie die Option Host-Header.
2. Kopieren Sie den Wert des Host-Headers.
3. Führen Sie den folgenden Befehl im Terminal oder auf der Konsole aus:
curl -H "Host: example.com" -I http(s)://10.0.0.1/image.png
wobei:
- example.com ist der Wert des Host-Headers
- http(s)://10.0.0.1/image.png das http(s) hängt vom Protokoll ab, das von der Quelle verwendet wird, dann die IP-Adresse Ihrer Website-Quelle und der Pfad der Datei, die über das CDN ohne die Domäne geliefert wird.
4. Wenn Sie den Antwortcode 2xx sehen, hat das Problem nichts mit dem Host-Header zu tun. Fahren Sie mit dem nächsten Abschnitt zur Fehlerbehebung fort.
Wenn der Antwortcode 4xx oder 5xx lautet, bedeutet dies, dass der Host-Header nicht richtig gesetzt wurde. So beheben Sie das Problem:
- Wenn Sie nur eine Website in das CDN integriert haben, geben Sie deren tatsächlichen Domänennamen in der Host-Header-Option an und löschen Sie dann den CDN-Cache.
- Wenn Sie mehrere Websites oder Anwendungen (Herkunftsgruppe mit mehreren Quellen) mit dem CDN integriert haben, muss jede von ihnen den angegebenen Host-Header akzeptieren. Verwalten Sie die Quellen und löschen Sie den CDN-Cache.
3. Prüfen Sie, ob Ihre CDN-Ressource aktiv ist.
Wenn Sie bei Ihrer CDN-Ressource den Statuscode 403 erhalten, könnte dies daran liegen, dass Ihre CDN-Ressource inaktiv ist. Um dies zu prüfen, gehen Sie in die Einstellungen Ihrer CDN-Ressource und prüfen Sie die Option "Content availability". Damit das CDN funktioniert, sollte es aktiviert sein.
4. Prüfen Sie die Option Origin pull protocol
Wenn Sie das falsche Origin Pull Protocol (HTTP, HTTPS oder beides) gewählt haben, wird die CDN-Ressource den Inhalt Ihrer Website mit einem Fehler oder einer Umleitung anfordern. So prüfen Sie, ob das Protokoll richtig gewählt wurde und korrigieren einen Fehler:
1. Finden Sie heraus, welches Protokoll Ihre Website verwendet. Sie können die Art des Protokolls links neben dem Domainnamen in der Adressleiste des Browsers sehen. Wenn dort ein Vorhängeschloss-Symbol zu sehen ist:
bedeutet dies, dass Ihre Website über das HTTPS-Protokoll funktioniert. Wenn Sie den Domänennamen kopieren, wird er wie folgt kopiert: https://example.com
.
Wenn Sie das Label Nicht sicher sehen:
bedeutet, dass Ihre Website über HTTP funktioniert. Wenn Sie die Domäne kopieren, wird sie wie folgt kopiert:http://example.com
.
Es ist auch möglich, dass der Inhalt des Origin sowohl über HTTP als auch über HTTPS verfügbar ist. Um dies zu prüfen, öffnen Sie Ihre Website mit den Protokollen http://example.com
und https://example.com
.
2. Gehen Sie zu den Ressourceneinstellungen und suchen Sie die Option Origin pull protocol. Sie werden sehen, welches Protokoll ausgewählt ist.
3. Vergleichen Sie das Protokoll aus Schritt 1 mit dem Wert aus Schritt 2. wenn sie übereinstimmen (z. B. wenn die Website über HTTP funktioniert und in der Origin-Pull-Protokolloption HTTP eingestellt ist), hängt das Problem nicht mit dem Protokoll zusammen. Fahren Sie mit dem nächsten Abschnitt zur Fehlerbehebung fort.
Wenn sie unterschiedlich sind, fahren Sie mit dem nächsten Schritt fort.
4. Ändern Sie den Wert in der Option "Origin Pull Protocol" entsprechend der Anleitung "Origin. Geben Sie den Ursprung und das Ursprungs-Pull-Protokoll an. Wählen Sie die Art des Protokolls, das Ihre Website verwendet. Speichern Sie die Änderungen und löschen Sie dann den CDN-Cache.
5. Prüfen Sie die SSL-Option
Wenn Sie die SSL-Option aktiviert haben, aber das SSL-Zertifikat für Ihre persönliche Domain (z. B. cdn.example.com) nicht oder mit einem Fehler hinzugefügt wurde, sind die Inhalte nicht über das CDN verfügbar, oder Sie erhalten im Browser eine Meldung, dass die Verbindung nicht sicher ist.
Um die SSL-Konfiguration zu prüfen und korrekt einzurichten, gehen Sie zu den Ressourceneinstellungen und suchen Sie die Option SSL. Stellen Sie sicher, dass die Option "HTTPS aktivieren" aktiviert ist.
Es gibt zwei Arten der SSL-Konfiguration: Kostenloses Let's Encrypt-Zertifikat abrufen und eigenes SSL-Zertifikat hinzufügen oder auswählen. In beiden Fällen müssen Sie nach dem Ausstellen/Hinzufügen des Zertifikats etwa 15-30 Minuten warten, bis die Aktualisierungen registriert sind.
Das Szenario zur Fehlerbehebung hängt vom gewählten SSL-Zertifikatstyp ab.
Kostenloses Let's Encrypt-Zertifikat
1. Gehen Sie zurück zum Abschnitt Fehlerbehebung für persönliche Domänen und stellen Sie sicher, dass der CNAME-Eintrag für die persönliche Domäne Ihrer CDN-Ressource vorhanden ist. Wenn nicht, fügen Sie ihn hinzu. Andernfalls ist Let's Encrypt nicht in der Lage, ein Zertifikat auszustellen. Wenn dies der Fall ist, fahren Sie mit dem nächsten Schritt fort.
2. Gehen Sie zu den Ressourceneinstellungen und suchen Sie den Abschnitt Regeln. Wenn es keine Regeln gibt, fahren Sie mit dem nächsten Schritt fort.
3. Stellen Sie sicher, dass es keine Regeln gibt, die Anfragen an die persönliche Domain (CNAME) Ihrer CDN-Ressource ablehnen. Let's Encrypt sendet Anfragen an Ihre persönliche Domäne, um ein Zertifikat auszustellen. Wenn Anforderungen verweigert werden, schlägt die Ausstellung fehl. Um festzustellen, ob die Regel Anforderungen verhindert, öffnen Sie jede Regel und sehen Sie sich das Feld Regelmuster an. Wenn Sie den Wert
/*
oder
((?!(jpeg|gif|png|pdf|jpg|css|js|woff|woff2|ttf)).)\*$
diese Regel verweigert Anfragen an die persönliche Domäne. Um die Ausstellung des Zertifikats zu beheben, löschen Sie die Regel oder ändern Sie ihr Muster. Wenn Let's Encrypt das nächste Mal eine Anforderung sendet, wird die Ausstellung erfolgreich sein.
Persönliches SSL-Zertifikat
1. Führen Sie den folgenden Befehl im Terminal oder in der Konsole aus:
curl -I https://cdn.example.com/image.png
wobei:
- cdn.example.com ist die persönliche Domain (CNAME)
- image.png ist der Pfad der Datei, die über das CDN ohne die Domain geliefert wird
Wenn Sie den Antwortcode 2xx sehen, fahren Sie mit dem nächsten Schritt fort.
Wenn Sie den folgenden Fehler in der Befehlsausgabe sehen
curl: (77) schannel: next InitializeSecurityContext failed: SEC\_E\_UNTRUSTED\_ROOT (0x80090325)
bedeutet dies, dass das Zertifikat selbst signiert ist. Selbstsignierte Zertifikate sind für die Bereitstellung von Inhalten nicht geeignet. Stellen Sie in diesem Fall ein neues Zertifikat bei der Zertifizierungsstelle (CA) aus und fügen Sie es gemäß der Anleitung "Hinzufügen eines persönlichen SSL-Zertifikats im Abschnitt SSL-Zertifikate" hinzu. Löschen Sie dann den CDN-Cache und versuchen Sie erneut, den Inhalt anzufordern.
2. Öffnen Sie Ihre Website und fordern Sie eine beliebige Datei an, die über das CDN bereitgestellt wird. Klicken Sie auf das Vorhängeschloss-Symbol oder das Label Nicht sicher und wählen Sie das Zertifikat aus. Zeigen Sie die folgenden Werte an:
- Die Domäne, für die das Zertifikat gültig ist
- Ablaufdatum
Wenn Sie sehen, dass das Zertifikat für die persönliche Domäne Ihrer Ressource ausgestellt ist (wenn Sie *.example.com sehen, bedeutet dies, dass Sie ein Platzhalterzertifikat verwenden, das alle Ihre Unterdomänen, einschließlich cdn.example.com, umfasst), und das Zertifikat nicht abgelaufen ist. Fahren Sie mit dem nächsten Schritt fort.
Falls nicht, müssen Sie das Zertifikat erneuern (falls das Problem durch das Ablaufen verursacht wird) oder ein neues für die persönliche Domain Ihrer CDN-Ressource ausstellen.
3. Rufen Sie die SSLlabs-Website auf, geben Sie den Namen der persönlichen Domain in das Feld Hostname ein und klicken Sie wie folgt auf die Schaltfläche Senden:
Das Prüfen wird einige Minuten dauern. Wenn Sie keine Kettenprobleme oder die Bewertung A+ sehen, hat der Fehler nichts mit SSL zu tun. Fahren Sie mit dem nächsten Abschnitt fort.
Wenn Sie Probleme der Klasse B oder der Kette wie folgt feststellen
die Kette des SSL-Zertifikats ist unvollständig oder wurde falsch hinzugefügt. Gehen Sie zum Abschnitt SSL-Zertifikate in der Systemsteuerung. Löschen Sie das falsche Zertifikat und fügen Sie es erneut hinzu, wie in der Anleitung "So fügen Sie ein persönliches SSL-Zertifikat im Bereich SSL-Zertifikate hinzu" beschrieben.
6. Prüfen Sie die Cache-Optionen
Wenn die Cache-Optionen falsch konfiguriert wurden, sehen Sie einen geringen Prozentsatz an Cache-Traffic oder der Inhalt wird langsam geladen.
So prüfen Sie die Cache-Optionen und richten sie richtig ein:
1. Gehen Sie zum Abschnitt Dashboard und klicken Sie auf Gesamtverkehr.
2. Legen Sie den Cache-Trefferrate-Filter, die CDN-Ressource und das entsprechende Datum fest. Wenn Sie weniger als 60 % des Cache-Trefferraten-Traffics sehen, bedeutet dies, dass eine kleine Menge an Inhalten aus dem Cache geliefert wird.
Stellen Sie in diesem Fall sicher, dass Sie die CDN-Ressource vor mehr als zwei Tagen ausgeführt haben. Diese Zeit wird benötigt, um den Cache "aufzuwärmen". Wenn nicht, warten Sie zwei Tage. Außerdem müssen viele Anfragen von Endnutzern vorliegen, damit die angeforderten Inhalte in den Cache aufgenommen werden können. Bei einer geringen Anzahl von Anfragen wird der Cache unabhängig von den Einstellungen nach 36 Stunden geleert. Versuchen Sie, das Verkehrsaufkommen zu erhöhen. Wenn das Problem nicht behoben ist, gehen Sie zum nächsten Schritt über.
Wenn der Prozentsatz des Cache-Verkehrs über 60 % liegt und Sie keine langsamen Ladezeiten feststellen, fahren Sie mit dem nächsten Abschnitt fort.
3. Fordern Sie im Browser oder in der Konsole (Terminal) eine beliebige Datei an, die über ein CDN bereitgestellt wird, und prüfen Sie die Werte der Header Cache und Cache Control. Wenn Sie mindestens einen der folgenden Werte sehen, bedeutet dies, dass es ein Problem in den Cache-Einstellungen gibt:
- Cache-Kontrolle: max-age=0
- Cache-Kontrolle: privat
- Cache-Kontrolle: no-cache
- Cache: MISS
Wenn Sie die Werte sehen, fahren Sie mit dem nächsten Schritt fort. Wenn nicht, gehen Sie zu Schritt 5.
4. Gehen Sie zu den Ressourceneinstellungen und suchen Sie die Option CDN-Caching. Ändern Sie die Einstellungen gemäß der Anleitung "CDN-Caching-Einstellungen konfigurieren und prüfen".
5. Prüfen Sie die Optionen Set-Cookie und Query string. Wenn sie ausgeschaltet sind, aktivieren Sie sie. Wenn Sie diese Optionen aktivieren, speichert CDN eine Datei mit verschiedenen Cookies oder Abfragezeichenfolgen als eindeutige Datei.
7. Prüfen Sie die Option Purge
Es gibt zwei Anzeichen dafür, dass nach dem Löschen des Caches mit der Option Purge ein Problem vorliegt:
Das CDN gibt eine falsche oder veraltete Datei auf die Anfragen der Benutzer zurück.
Die Datei aus dem CDN-Cache und aus dem Ursprung stimmen nicht überein.
So prüfen Sie die Bereinigungsoption und beheben einen Fehler:
1. Warten Sie nach dem Bereinigen 15 Minuten, bis der Cache auf allen Servern geleert ist.
2. Führen Sie die folgenden zwei Befehle im Terminal oder in der Konsole aus, um dieselbe Datei sowohl von der Quelle als auch vom CDN anzufordern:
curl -I cdn.example.com/image.png
curl -H "Host: example.com" -I http(s)://10.0.0.1/image.png
wobei:
- cdn.example.com ist die persönliche Domain Ihrer CDN-Ressource
- image.png ist der Pfad der Datei, die über das CDN geliefert wird
- http(s) hängt von dem von der Quelle verwendeten Protokoll ab
- example.com ist der Wert des Host-Headers
- 10.0.0.1 ist die IP-Adresse der Quelle Ihrer Website
3. Vergleichen Sie die Ausgaben und achten Sie dabei auf die Werte der folgenden Header:
- Content-Length, das ist die Objektgröße in Bytes
- ETag, das ist der Zeichensatz, den das CDN vergleicht, um festzustellen, ob die Datei geändert wurde
- X-Cached-Since, das ist die Zeit im UTC-Format
Wenn Sie sehen, dass die Etag- und Content-Length-Werte der beiden Dateien nicht übereinstimmen oder dass das Datum im X-Cached-Since-Header veraltet ist, bedeutet dies, dass ein Fehler vorliegt. In diesem Fall sollten Sie mit dem nächsten Schritt fortfahren.
Wenn die Werte übereinstimmen und das Datum relevant ist, wurde die Bereinigung korrekt durchgeführt.
4. Versuchen Sie, die Bereinigung gemäß der Anleitung "CDN-Ressourcen-Cache nach URL, Muster oder alle löschen" zu wiederholen. Achten Sie auf das Pfadmuster, wenn Sie selektive Bereinigung wählen. Wir empfehlen, mit Hilfe des Dienstes für Regular Expressions zu prüfen, ob das Muster richtig war. Geben Sie dazu in der oberen Zeile das Pfadmuster für die Bereinigung ein, und geben Sie im unteren Bereich die URL der Datei ein. Wenn Sie das Ergebnis "keine Treffer" sehen, liegt ein Fehler im Pfadmuster vor. Korrigieren Sie das Pfadmuster und wiederholen Sie die Bereinigung.
8. Optimierung der Zustellung großer Dateien
Wenn Sie die Option "Large files delivery optimization" für Ihre CDN-Ressource aktiviert haben und Fehler bei der Verbindungsbeendigung und andere Fehler auftreten, prüfen Sie unsere möglichen Lösungen unten:
- Die Option "Large Files Delivery Optimization" ist aktiviert und der Inhalt auf dem Ursprung wird ständig aktualisiert.
CDN-Server fordern Inhalte vom Ursprung in cachefähigen Slices von 10 MB an und cachen sie dann als eine einzige Datei. Wenn eine Datei auf dem Ursprung aktualisiert wird, bevor ihre zwischengespeicherten Slices zusammengesetzt sind, ruft der CDN-Server weiterhin die Slices vom Ursprung ab, kann sie aber nicht zu einer einzelnen Datei zusammensetzen.Wenn die Slicing-Option deaktiviert ist, wird eine Datei im Cache einfach aktualisiert, sobald sie abläuft. Da die Edge-Server jedoch unterschiedliche Cache-Speicher haben, kann es sein, dass die Datei über einen längeren Zeitraum nicht aktualisiert wird. So kann es sein, dass ein Benutzer eine aktualisierte Datei erhält, während ein anderer Benutzer eine veraltete Datei erhält. Daher ist die Cache-Bereinigung erforderlich, sobald die Inhalte auf einem Ursprung aktualisiert wurden. - Die Optimierungsoption für die Zustellung großer Dateien ist aktiviert, aber ein Ursprung unterstützt sie nicht.
Um zu prüfen, ob ein Ursprung Slicing unterstützt, müssen Sie die Datei in Slices anfordern, wie es das CDN tut:
wget -S http://origin.com/file.mp4 --header="Range: bytes=100-200"
Wget ist auf Ihrem System möglicherweise nicht standardmäßig verfügbar. In solchen Fällen können Sie eine der Anleitungen verwenden, die Ihnen bei der Installation helfen können.
Wenn ein Ursprungsland die Optimierung nicht unterstützt, schlägt jeder Verbindungsversuch des Programms auf unbestimmte Zeit fehl.
Wenn das Problem nach der Fehlerbehebung gemäß dieser Anleitung weiterhin besteht, kontaktieren Sie den Support per Chat oder E-Mail unter support@gcore.com. Möglicherweise haben Sie ein atypisches Problem, das die Hilfe von technischen Spezialisten erfordert. Wir helfen Ihnen gerne!
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.