GNU/Linux >> Belajar Linux >  >> Linux

Memecahkan masalah nama host yang diberikan bukan kesalahan yang valid

Artikel ini menjelaskan penyebab pesan kesalahan berikut dan cara memperbaiki masalahnya:

The provided host name is not valid for this server.

Saat Anda bekerja dengan Drupal 8, Anda mungkin mendapatkan pesan kesalahan ini saat menelusuri halaman mana pun dan melihat halaman putih polos.

Peringatan: Sebelum Anda menggunakan petunjuk pemecahan masalah ini, pastikan bahwa Anda memahami lingkungan Anda karena langkah pemecahan masalah ini mungkin tidak cocok untuk semua pengaturan atau konfigurasi. Selain itu, kami menyarankan Anda untuk membuat cadangan sebelum membuat perubahan apa pun pada sistem Anda sehingga Anda memiliki kemampuan untuk mengembalikan perubahan jika diperlukan.

Sumber kesalahan

Pesan kesalahan ini berasal dari fitur yang ditambahkan ke Drupal untuk melindungi dari serangan header host HTTP. Catatan perubahan yang dihasilkan untuk tambalan menjelaskan fitur tersebut.

Sayangnya, ada kemungkinan untuk memalsukan header host HTTP untuk tujuan jahat dan mengelabui Drupal agar menggunakan nama domain yang berbeda di beberapa subsistem (terutama pembuatan tautan). Jadi, Anda harus mempertimbangkan header host HTTP sebagai input pengguna yang tidak dipercaya.

Perbaiki kesalahan ini

Untuk mengatasi masalah ini, Drupal menambahkan pengaturan berikut untuk mengonfigurasi daftar nama host tepercaya tempat situs dapat dijalankan.

$settings['trusted_host_patterns']

Setelannya adalah larik pola ekspresi reguler, tanpa pembatas, yang mewakili nama host yang ingin Anda izinkan untuk dijalankan.

Misalnya, jika Anda menjalankan situs dari satu hostname www.example.com , maka Anda harus menambahkan ini ke pengaturan Anda (biasanya ditemukan di ./sites/default/settings.php ):

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

Catatan :^, \., dan $ adalah sintaks Perl Compatible Regular Expressions (PCRE) dan berarti Anda ingin mencocokkanwww.example.com tepatnya, tanpa tambahan apa pun di awal atau akhir, dan titik tersebut harus diperlakukan sebagai titik dan bukan karakter wildcard.

Jika Anda menjalankan dari “example.com”, gunakan yang berikut ini:

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

Jika Anda perlu menjalankan situs dengan beberapa domain atau subdomain dan tidak melakukan pengalihan URL kanonik, setelan Anda harus serupa dengan contoh berikut:

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

Ini memungkinkan situs berjalan dari semua varian example.com dan example.org dengan semua subdomain disertakan.

Jika Anda telah mengkonfigurasi pengaturan ini dan masih melihat pesan kesalahan, Anda mungkin tidak menggunakan sintaks ekspresi reguler yang benar. Dalam hal ini, ambil contoh pertama dalam artikel ini, salin dan tempel ke setelan Anda, lalu edit untuk mencerminkan nama host tempat situs Anda dijalankan.

Setelah Anda menyesuaikan $settings['trusted_host_patterns'] ke nilai yang tepat, Anda seharusnya dapat menjelajahi situs Anda lagi.

Menghapus setelan

Jika Anda menghapus pengaturan sama sekali, mekanisme host tepercaya tidak digunakan, dan Anda melihat kesalahan pada halaman laporan status. Selain itu, situs Anda mungkin rentan terhadap serangan header host HTTP.

Periksa status

Anda dapat memeriksa status pengaturan host tepercaya Anda dari halaman laporan status, yaitu di admin/reports/status .


Linux
  1. Bash + Verifikasi Nama Dengan Ekspresi Reguler?

  2. Memecahkan masalah kesalahan server internal WordPress

  3. Perintah "ntpq -pn" kembali dengan kesalahan "Nama atau layanan tidak dikenal"

  1. Pelajari penanganan kesalahan Bash dengan contoh

  2. curl:(6) Tidak dapat menyelesaikan host:google.com; Nama atau layanan tidak diketahui

  3. Ketika exim4 mengirimkan HELO/EHLO, bagaimana cara mengonfigurasi nama host mana yang dikirimkannya?

  1. Perbaiki kesalahan Class ZipArchive tidak ditemukan [PHP 7]

  2. perintah yum-config-manager tidak ditemukan [Perbaiki]

  3. Panggilan balik terdaftar tidak cocok dengan URL yang disediakan – Perbaiki Kesalahan WSO2