GNU/Linux >> Linux の 問題 >  >> Linux

提供されたホスト名が無効なエラーのトラブルシューティング

この記事では、次のエラーメッセージの原因と問題の修正方法について説明します。

The provided host name is not valid for this server.

Drupal 8を使用しているときに、任意のページを参照して真っ白なページが表示されると、このエラーメッセージが表示される場合があります。

警告: これらのトラブルシューティング手順を使用する前に、これらのトラブルシューティング手順がすべてのセットアップまたは構成に適しているとは限らないため、環境を理解していることを確認してください。また、必要に応じて変更を元に戻すことができるように、システムに変更を加える前にバックアップを作成することをお勧めします。

エラーの原因

このエラーメッセージは、HTTPホストヘッダー攻撃から保護するためにDrupalに追加された機能から発生します。パッチ用に生成された変更レコードは、機能を説明しています。

残念ながら、不正な目的でHTTPホストヘッダーをスプーフィングし、Drupalをだまして複数のサブシステム(特にリンク生成)で異なるドメイン名を使用させる可能性があります。したがって、HTTPホストヘッダーを信頼できないユーザー入力と見なす必要があります。

このエラーの修正

この問題に対処するために、Drupalは次の設定を追加して、サイトを実行できる信頼できるホスト名のリストを構成しました。

$settings['trusted_host_patterns']

設定は、実行を許可するホスト名を表す、区切り文字のない正規表現パターンの配列です。

たとえば、単一のホスト名www.example.comからサイトを実行している場合 、次にこれを設定に追加する必要があります(通常は./sites/default/settings.phpにあります) ):

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

:^、\。、および$は、Perl互換正規表現(PCRE)構文であり、www.example.comと一致させたいことを意味します。 正確には、最初または最後に余分なものはなく、ドットはワイルドカード文字ではなくドットとして扱われる必要があります。

「example.com」から実行している場合は、次を使用します。

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

複数のドメインまたはサブドメインのサイトを実行する必要があり、正規のURLリダイレクトを実行していない場合、設定は次の例のようになります。

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

これにより、すべてのサブドメインが含まれているexample.comおよびexample.orgのすべてのバリアントからサイトを実行できます。

この設定を構成してもエラーメッセージが表示される場合は、正しい正規表現構文を使用していない可能性があります。この場合、この記事の最初の例を取り上げ、それをコピーして設定に貼り付けてから、サイトが実行されているホスト名を反映するように編集します。

$settings['trusted_host_patterns']を調整した後 適切な値にすると、サイトを再度参照できるようになります。

設定を削除する

設定を完全に削除すると、信頼できるホストメカニズムが使用されず、ステータスレポートページにエラーが表示されます。さらに、サイトは脆弱なHTTPホストヘッダー攻撃である可能性があります。

ステータスを確認

信頼できるホスト設定のステータスは、admin/reports/statusにあるstatusreportページから確認できます。 。


Linux
  1. クラスZipArchiveが見つからないというエラーを修正しました[PHP7]

  2. yum-config-managerコマンドが見つかりません[修正]

  3. 登録されたコールバックが提供されたURLと一致しません–WSO2エラーを修正します

  1. c_rehash:コマンドが見つかりませんエラー–解決策

  2. Bash +正規表現で名前を確認しますか?

  3. WordPress内部サーバーエラーのトラブルシューティング

  1. 例でBashエラー処理を学ぶ

  2. ubuntuでApache仮想ホストを構成する方法

  3. ldconfig エラー:シンボリック リンクではありません