web-gelistirme-sc.com

"Sağlanan Ana Bilgisayar adı bu sunucu için geçerli değil" ne anlama geliyor?

Bir Drupal 8 web sitesi çalıştırıyorum ve herhangi bir sayfaya göz attığımda, üzerinde sadece aşağıdaki hata mesajını içeren düz beyaz bir sayfa alıyorum.

Sağlanan Ana Bilgisayar adı bu sunucu için geçerli değil.

Ne anlama geliyor? Bunu nasıl düzeltirim?

69
mpdonadio

Bu hata iletisi, Drupal 8 - HTTP Ana bilgisayar üstbilgi saldırılarına karşı koruma öğesine eklenen bir özellik kaynağından geliyor. düzeltme eki için oluşturulan değişikliği değiştir içinde.

Esasen, HTTP Ana bilgisayar üstbilgisi 'yi haksız amaçlar için taklit etmek ve Drupal) birkaç alt sistemde (özellikle bağlantı oluşturma) farklı bir alan adı kullanmak için kandırmak mümkün oldu. diğer bir deyişle, HTTP Ana Bilgisayar üstbilgisinin kullanıcı girişi olarak kabul edilmesi ve güvenilmemesi gerekir.

Bununla mücadele etmek için yeni bir ayar, $settings['trusted_Host_patterns'], sitenin çalışabileceği "güvenilir" ana bilgisayar adlarının bir listesini yapılandırmak için Drupal 8 sayfasına eklenmiştir. Ayarın, çalıştırılmasına izin vermek istediğiniz ana makine adları.

Örneğin, sitenizi "www.example.com" adlı tek bir ana bilgisayar adından çalıştırıyorsanız, bunu ayarlarınıza eklemeniz gerekir (genellikle ./sites/default/settings.php):

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

^, \., ve $. Bunlar PCRE Sözdizimi . Bunlar sadece "www.example.com" u başlangıçta ve bitişte fazladan bir şey olmadan tam olarak eşleştirmek istediğiniz ve noktaların joker karakter olarak değil nokta olarak ele alınması gerektiği anlamına gelir.

"Example.com" adresinden çalıştırıyorsanız, şunu kullanın:

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

Birden fazla alanın ve/veya alt alanın bulunduğu bir siteyi çalıştırmanız gerekiyorsa ve standart URL yönlendirmesi yapmıyorsanız ayarınız şöyle görünecektir:

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

Bu, sitenin tüm alt etki alanları dahil olmak üzere example.com ve example.org'un tüm varyantlarından kaçmasına izin verir.

$settings['trusted_Host_patterns'] değerini doğru değere ayarladığınızda, sitenize tekrar göz atabilmeniz gerekir.

Güvenilir Ana Bilgisayar ayarlarınızın durumunu yönetici/raporlar/durum durumundaki durum raporu sayfasından da kontrol edebilirsiniz.

Ayarı tamamen kaldırırsanız, güvenilen Ana Makine mekanizması kullanılmaz ve durum raporu sayfasında bir hata görürsünüz. Ayrıca, siteniz savunmasız HTTP Ana Bilgisayar üstbilgisi saldırılarına da maruz kalabilir.

Bu ayarı yapılandırdıysanız ve bu mesajı görüyorsanız, muhtemelen normal ifade sözdizimini bertaraf ettiğiniz anlamına gelir. Bu durumda, ilk örneği alın ve ayarlarınıza kopyalayıp yapıştırın ve ardından sitenizin çalıştığı ana bilgisayar adını yansıtacak şekilde düzenleyin.

88
mpdonadio

localhost kurulumu için settings.php dosyanızda aşağıdaki kodu kullanabilirsiniz

$settings['trusted_Host_patterns'] = array(
   '^localhost$','^YOUR_IP_ADDRESS$'
 );
7
Mohan Gathala

Bunun nedeni trusted_Host_patterns değişkenini ayarlar dosyanızda. Yerel ortam üzerinde çalışıyorsanız ve bunu geçersiz kılmak istiyorsanız, settings.local.php dosya:

/*
 * Drupal Trusted Host Patterns
 */
$settings['trusted_Host_patterns'] = [];

Veya daha fazlası genel desen :

$settings['trusted_Host_patterns'] = [ '.*' ];

Veya daha fazlası yerel ortamlara özgü :

$settings['trusted_Host_patterns'] = array(
  '^172\.20.\0.\3$',
  '^localhost$',
);

Bu en basit çözümdür, ancak HTTP Host üstbilgisini kötü amaçlı amaçlarla taklit etmekten kaçınmak için uygun değerleri ayarlamanız gerektiği için önerilmez. Web siteniz yalnızca yerel sitenizde çalışıyorsa, iyi olmalısınız.

Bakınız: Güvenilen ana bilgisayar adı yapılandırması için yeni ayar .

5
kenorb

Bu sorun,

<VirtualHost *:443>

ne zaman sahip olmalısın

<VirtualHost *:80>

sSL olmayan bir kurulumda (geliştirme/test ortamları gibi) kurulum yapın ve 80 numaralı bağlantı noktasından siteye erişmeye çalışın

3
Neil Davis

Bu, serveur'un güvenilir Ana Bilgisayar yapılandırmasından kaynaklanmaktadır. Alan adını değiştirdiğinizde veya 'trusted_Host_patterns'. Probunu çözmek için yeni alan adınızı DRUPAL_ROOT/sites/SITE_FOLDER/settings.php (Örn: sites/defaults/settings.php)

Örnek: Alan adı = newdomain.com

$settings['trusted_Host_patterns'] = array(
  '^newdomain.com\.loc$',
  '^www\.newdomain.com\.loc$',
);
0
Jimmy

Apache2'de sanal görüntüler oluşturmanız gerekiyor

DocumentRoot/Kullanıcılar/mac/www/SunucuAdı localhost

<Directory "/Users/mac/www">
  AllowOverride All
0