GNU/Linux >> Tutoriels Linux >  >> Linux

Résoudre l'erreur de nom d'hôte fourni non valide

Cet article décrit la cause du message d'erreur suivant et comment résoudre le problème :

The provided host name is not valid for this server.

Lorsque vous travaillez avec Drupal 8, vous pouvez recevoir ce message d'erreur lorsque vous naviguez sur n'importe quelle page et voyez une page blanche.

Avertissement : Avant d'utiliser ces instructions de dépannage, assurez-vous que vous comprenez votre environnement car ces étapes de dépannage peuvent ne pas convenir à toutes les installations ou configurations. De plus, nous vous recommandons d'effectuer une sauvegarde avant d'apporter des modifications à votre système afin de pouvoir annuler les modifications si nécessaire.

Source de l'erreur

Ce message d'erreur provient d'une fonctionnalité qui a été ajoutée à Drupal pour se protéger contre les attaques d'en-tête d'hôte HTTP. L'enregistrement de modification généré pour le correctif décrit la fonctionnalité.

Malheureusement, il est possible d'usurper l'en-tête de l'hôte HTTP à des fins néfastes et d'inciter Drupal à utiliser un nom de domaine différent dans plusieurs sous-systèmes (en particulier la génération de liens). Vous devez donc considérer l'en-tête de l'hôte HTTP comme une entrée utilisateur non fiable.

Correction de cette erreur

Pour lutter contre ce problème, Drupal a ajouté le paramètre suivant pour configurer une liste de noms d'hôtes de confiance à partir desquels le site peut s'exécuter.

$settings['trusted_host_patterns']

Le paramètre est un tableau de modèles d'expressions régulières, sans délimiteurs, qui représentent les noms d'hôtes à partir desquels vous souhaitez autoriser l'exécution.

Par exemple, si vous exécutez votre site à partir d'un seul nom d'hôte www.example.com , vous devez alors l'ajouter à vos paramètres (généralement trouvés dans ./sites/default/settings.php ):

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

Remarque :Les ^, \. et $ sont la syntaxe PCRE (Perl Compatible Regular Expressions) et signifient que vous voulez faire correspondre www.example.com précisément, sans rien de plus au début ou à la fin, et que les points doivent être traités comme des points et non comme des caractères génériques.

Si vous utilisez "example.com", utilisez ce qui suit :

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

Si vous avez besoin d'exécuter un site de plusieurs domaines ou sous-domaines et que vous n'effectuez pas de redirection d'URL canonique, votre paramètre doit ressembler à l'exemple suivant :

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

Cela permet au site de fonctionner à partir de toutes les variantes de example.com et example.org avec tous les sous-domaines inclus.

Si vous avez configuré ce paramètre et que vous voyez toujours le message d'erreur, vous n'utilisez probablement pas la syntaxe d'expression régulière correcte. Dans ce cas, prenez le premier exemple de cet article, copiez-le et collez-le dans vos paramètres, puis modifiez-le pour refléter le nom d'hôte à partir duquel votre site s'exécute.

Après avoir ajusté $settings['trusted_host_patterns'] à la bonne valeur, vous devriez être en mesure de naviguer à nouveau sur votre site.

Supprimer le paramètre

Si vous supprimez complètement le paramètre, le mécanisme d'hôte de confiance n'est pas utilisé et une erreur s'affiche sur la page de rapport d'état. De plus, votre site pourrait être vulnérable aux attaques d'en-tête d'hôte HTTP.

Vérifier l'état

Vous pouvez vérifier l'état des paramètres de votre hôte de confiance à partir de la page de rapport d'état, qui se trouve à admin/reports/status .


Linux
  1. [Corrigé] erreur :snap "package" introuvable

  2. Correction de l'erreur Class ZipArchive introuvable [PHP 7]

  3. Résoudre les erreurs de serveur interne WordPress

  4. Comment configurer l'hôte virtuel Apache sur Ubuntu

  5. Quand exim4 envoie HELO/EHLO, comment configurer le nom d'hôte qu'il envoie ?

Comment dépanner ERR_TOO_MANY_REDIRECTS

Comment réparer l'erreur "Le référentiel n'est pas encore valide" dans Ubuntu Linux

Dépannage de l'erreur "Bash :Commande introuvable" sous Linux

If…else…if Statement (erreur de commande introuvable) ?

curl :(6) Impossible de résoudre l'hôte :google.com ; Nom ou service inconnu

sshpass :erreur de commande introuvable