GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Beheben Sie den Fehler „Der angegebene Hostname ist ungültig“.

Dieser Artikel beschreibt die Ursache der folgenden Fehlermeldung und wie Sie das Problem beheben können:

The provided host name is not valid for this server.

Wenn Sie mit Drupal 8 arbeiten, erhalten Sie möglicherweise diese Fehlermeldung, wenn Sie zu einer beliebigen Seite navigieren und eine einfache weiße Seite sehen.

Warnung: Bevor Sie diese Anweisungen zur Fehlerbehebung verwenden, vergewissern Sie sich, dass Sie Ihre Umgebung verstehen, da diese Schritte zur Fehlerbehebung möglicherweise nicht für alle Setups oder Konfigurationen geeignet sind. Außerdem empfehlen wir Ihnen, eine Sicherungskopie zu erstellen, bevor Sie Änderungen an Ihrem System vornehmen, damit Sie Änderungen bei Bedarf rückgängig machen können.

Fehlerquelle

Diese Fehlermeldung stammt von einer Funktion, die Drupal zum Schutz vor HTTP-Host-Header-Angriffen hinzugefügt wurde. Der für den Patch generierte Änderungsdatensatz beschreibt die Funktion.

Leider ist es möglich, den HTTP-Host-Header für schändliche Zwecke zu manipulieren und Drupal dazu zu bringen, in mehreren Subsystemen (insbesondere der Linkgenerierung) einen anderen Domainnamen zu verwenden. Daher sollten Sie den HTTP-Host-Header als nicht vertrauenswürdige Benutzereingabe betrachten.

Behebung dieses Fehlers

Um dieses Problem zu bekämpfen, hat Drupal die folgende Einstellung hinzugefügt, um eine Liste mit vertrauenswürdigen Hostnamen zu konfigurieren, von denen die Site ausgeführt werden kann.

$settings['trusted_host_patterns']

Die Einstellung ist ein Array aus regulären Ausdrucksmustern ohne Trennzeichen, die die Hostnamen darstellen, von denen Sie die Ausführung zulassen möchten.

Zum Beispiel, wenn Sie Ihre Website von einem einzelnen Hostnamen www.example.com betreiben , dann sollten Sie dies zu Ihren Einstellungen hinzufügen (normalerweise zu finden unter ./sites/default/settings.php ):

$settings['trusted_host_patterns'] = array( '^www\.example\.com$', );

Hinweis :^, \. und $ sind PCRE-Syntax (Perl Compatible Regular Expressions) und bedeuten, dass Sie www.example.com abgleichen möchten genau, ohne Extras am Anfang oder Ende, und dass die Punkte als Punkte und nicht als Platzhalterzeichen behandelt werden sollten.

Wenn Sie von „example.com“ aus starten, verwenden Sie Folgendes:

$settings['trusted_host_patterns'] = array( '^example\.com$', );

Wenn Sie eine Website mit mehreren Domains oder Subdomains betreiben müssen und keine kanonische URL-Umleitung durchführen, sollte Ihre Einstellung dem folgenden Beispiel ähneln:

$settings['trusted_host_patterns'] = array( '^example\.com$', '^.+\.example\.com$', '^example\.org', '^.+\.example\.org', );

Dadurch kann die Website von allen Varianten von example.com und example.org mit allen enthaltenen Subdomains ausgeführt werden.

Wenn Sie diese Einstellung konfiguriert haben und die Fehlermeldung immer noch angezeigt wird, verwenden Sie wahrscheinlich nicht die richtige Syntax für reguläre Ausdrücke. Nehmen Sie in diesem Fall das erste Beispiel in diesem Artikel, kopieren Sie es, fügen Sie es in Ihre Einstellungen ein und bearbeiten Sie es dann so, dass es den Hostnamen widerspiegelt, von dem aus Ihre Website ausgeführt wird.

Nachdem Sie $settings['trusted_host_patterns'] angepasst haben auf den richtigen Wert, sollten Sie Ihre Website wieder aufrufen können.

Entfernen der Einstellung

Wenn Sie die Einstellung vollständig entfernen, wird der Trusted-Host-Mechanismus nicht verwendet und Sie sehen einen Fehler auf der Statusberichtsseite. Darüber hinaus ist Ihre Website möglicherweise anfällig für HTTP-Host-Header-Angriffe.

Status prüfen

Sie können den Status Ihrer Einstellungen für vertrauenswürdige Hosts auf der Statusberichtseite überprüfen, die sich unter admin/reports/status befindet .


Linux
  1. Fehler „Klasse ZipArchive nicht gefunden“ behoben [PHP 7]

  2. Domainnamen einschließen oder nicht in /etc/hosts?

  3. Bash + Name durch regulären Ausdruck überprüfen?

  4. Der Befehl „ntpq -pn“ gibt den Fehler „Name oder Dienst nicht bekannt“ zurück

  5. So konfigurieren Sie den virtuellen Apache-Host auf Ubuntu

Fehlerbehebung bei ERR_TOO_MANY_REDIRECTS

So beheben Sie den Fehler „Repository ist noch nicht gültig“ in Ubuntu Linux

Fehlerbehebung „Bash:Command Not Found“-Fehler in Linux

If…else…if-Anweisung (Fehler „Befehl nicht gefunden“)?

Beheben Sie interne WordPress-Serverfehler

sshpass:Fehler „Befehl nicht gefunden“.