it-swarm.com.de

Nicht vertrauenswürdiger Host "localhost" in

Von Drupal 8 Beta 6 (heute veröffentlicht) habe ich diesen Fehler:

Fehlermeldung UnexpectedValueException: Nicht vertrauenswürdiger Host "localhost" in Symfony\Component\HttpFoundation\Request-> getHost () (Zeile 1221 von core/vendor/symfony/http-Foundation/Symfony/Component/HttpFoundation/Request.php).

Ich benutze diese lokale URL, um meine Site aufzurufen: http://theming.dev

In meiner Einstellungsdatei habe ich:

     $settings['trusted_Host_patterns'] = array(
        'theming\.dev$',
     );

Beachten Sie, dass dieser Fehler nur angezeigt wird, wenn ich diese Zeilen auskommentiere:

 if (file_exists(__DIR__ . '/settings.local.php')) {
   include __DIR__ . '/settings.local.php';
 }

Was ist das Problem bitte? Vielen Dank.

19
Axel Briche

Dieses Problem trat bei mir beim Erstellen einer 8.0.0-beta6-Testseite auf meinem Ubuntu 14.04-Laptop auf. Ich habe einen Apache-Webserver, der lokal ausgeführt wird, wobei die Testsite mithilfe einer VirtualHost - Direktive definiert wird. Ich füge den Domainnamen der Testseite ("example.com") zu meiner /etc/hosts - Datei hinzu und verweise auf 127.0.2.1, um die Notwendigkeit zu umgehen, echte DNS-Einträge zu verwenden.

Nach der Installation der Site sah alles gut aus. Auf der Seite Statusbericht wurde jedoch eine Warnmeldung angezeigt, dass trusted_Host_patterns Nicht festgelegt wurde. Daher ging ich in meine Datei /sites/default/settings.php Und fügte die folgenden Zeilen hinzu:

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

Beim Speichern der Datei und beim erneuten Laden meines Browsers wurde eine sehr allgemeine Fehlerseite angezeigt, und nach dem Auskommentieren der neuen Zeilen wurde die Protokollmeldung Untrusted Host "localhost"... Aufgefallen.

Es scheint, dass der Host, da ich von demselben Computer aus surfe, auf dem der Webserver ausgeführt wird, irgendwann in localhost konvertiert wird und daher nicht mit den Mustern übereinstimmt, die ich hatte spezifizierten. Ich konnte dieses Problem beheben, indem ich die folgenden Zeilen änderte:

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

Auf einer Site, die für die Produktion vorgesehen ist, möchten Sie möglicherweise eine settings.local.php - Datei verwenden, um ^localhost$ Nur zu Testzwecken als gültiges Host-Muster anzugeben. Beachten Sie, dass Sie diese Zeilen in der Standardeinstellung settings.php Auskommentieren und an den unteren Rand der Datei settings.php Verschieben müssen:

if (file_exists(__DIR__ . '/settings.local.php')) {
  include __DIR__ . '/settings.local.php';
}

In diesem Fall würde die Datei settings.php Nur die tatsächlichen Domänennamen enthalten:

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

und settings.local.php würde enthalten:

<?php
$settings['trusted_Host_patterns'][] = '^localhost$';

um localhost an die Liste der gültigen Hosts anzuhängen. Mit dieser Konfiguration würden Sie die Datei settings.local.php Nicht kopieren, wenn Sie die Site auf den Produktionsserver kopieren.

26
hampercm