Özel varsayılan web uygulaması hakkında ... Bunu yapamazsınız.
Bunu yapamazsınız çünkü sınırlı istemciler sadece farklı bir sayfa açmazlar, ancak tamamen başarısız olurlar.
SNI olmayan bir istemcinin yalnızca iyi açacağı bir "varsayılan" vhostunuz olduğunu düşünün. Ayrıca, bir SNI destekli istemci tarafından açık olması beklenen ek bir sankonuz da vardır.
Açıkçası, bu ikisinin farklı sunucu adları olmalıdır (örneğin, default.example.com
ve www.example.com
), ancak Apache veya nginx hangi sitenin hangi bağlantı sunucusuna gösterileceğini bilmez. olmayan bir SNI istemci https://www.example.com
açmaya çalışırsa
Şimdi, o ona bir sertifika hatası verecekti
default.example.com
sertifika, sunulan olacak. Bu büyük bir uyarı.
Bu hatanın düzeltmesi, hem www.example.com
hem de default.example.com
öğelerini içeren bir SAN (çok etki alanı) sertifikası yapmaktır. Sonra, bir SNI olmayan istemci https://www.example.com
açmaya çalışırsa, geçerli bir sertifika ile sunulacak, ancak o zaman bile Host:
başlığı www.example.com
işaret edecek ve isteği default.example.com
değil www.example.com
için yönlendirilir.
Gördüğünüz gibi, SNI olmayan istemcileri tamamen engeller ya da bunları beklenen bir sanal alana yönlendirirsiniz. Varsayılan web uygulaması için mantıklı bir seçenek yok.openssl s_client benzer
bu durum geçerlidir cli gnutls-* ve öncedir. 1.1.1 * sürümünde, s_client "server_name" uzantısını varsayılan olarak gönderir ("-connect" parametresinde herhangi bir host belirtilmişse). Daha yeni sürümde "server_name" göndermek istemiyorsanız, "-noservername" ile kapatmanız gerekir. – Andrew