Soru Belirli sanal konaklara https erişimi nasıl devre dışı bırakılır?


Tamam, bu yüzden aşağıdaki yönergelerle kurulmuş bir Apache sunucum var:

NameVirtualHost *:80

<VirtualHost *:80>  
ServerName example1.com  
ServerAlias www.example1.com  
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
ServerName example2.com
ServerAlias *.example2.com
DocumentRoot /var/www/example2
</VirtualHost>

<VirtualHost example1.com:443>
DocumentRoot /var/www/html
ServerName example1.com:443
SSLEngine on
...
</VirtualHosts>

Yani example1.com'un SSL desteği vardır ve http: // example1.com veya https: // example1.com adresinden erişilebilir. Ancak, bu, tarayıcımda https: // example2.com adresini ziyaret ettiğimde https: // example1.com'un gösterilmesinin istenmeyen yan etkisine sahiptir. Yapmak istediğim, https: // example2.com'u bir şekilde devre dışı bırakmak ya da http: // example2.com adresine yönlendirmek. Bu yüzden, bir uyarı ve yanlış siteyi ziyaret etmem.


10
2018-02-23 05:20


Menşei




Cevaplar:


Bir example1 ve example2 farklı IP adresleri üzerinde olmadıkça veya her iki ismi kapsayan bir SSL sertifikası aldığınız sürece bir uyarı almaktan kaçınamayacaksınız - bir SSL sayfası oluşturulduktan sonra bir hata sayfası veya yeniden yönlendirme gerçekleşemez.

Bu söyleniyor ki, bu çizgiler boyunca bir şey çalışmalıdır:

NameVirtualHost *:443
<VirtualHost *:443>
  ServerName example1.com
  SSLEngine on
  #...
</VirtualHost>
<VirtualHost *:443>
  ServerName example2.com
  SSLEngine on
  # same certificate config here as on example1, unless you're wanting to use TLS SNI
  # then, let's redirect the user to non-SSL
  Redirect permanent / http://example2.com/
</VirtualHost>

6
2018-02-23 09:06



Teşekkürler! Sanırım NameVirtualHost yönergesini kaçırıyordum ve Apache, birbiriyle çelişen iki sanal ana bilgisayar yapmaya çalıştığımı düşündü. İlginç bir şekilde, Chrome bu yönlendirme konusunda bir uyarı vermiyor ... Ancak bu konuda endişelenmiyorum, sadece SSL sitemin diğer alan adları altında görünmesini istemiyorum. - nearengine
Ssl'ye geri dönüş yapmak için geçersiz sertifikalar eklemekle aynı şey değil mi? Sanırım, direk olarak vampir yönergelerindeki cephelerin adlarına _fake ekleyebilirsiniz. - erm3nda


Ben koymak gerektiğini düşünmüyorum: 443 ServerName üzerinde example1.com:443

bunlar doğru yapılandırılmalıdır

<VirtualHost example1.com:443> //change example1.com to ip address is a good habit
DocumentRoot /var/www/html
ServerName example1.com
SSLEngine on
...
</VirtualHosts>

0
2018-02-23 07:35





SSL gerektiren site için ayrı bir IP kullanmak en iyisidir.

Alternatif olarak, Yönlendirmeyi eklemek için, her alan için 443'te bir sanal alana ihtiyacınız var. SSL uyarısını kaldırmak için her site için geçerli bir sertifikaya ihtiyacınız olacaktır.

Yine de bir tane güvenli vhost var. SSL orijinal şekliyle ana bilgisayar adını önemsemez. Bir IP adresine bir SSL oturumu açar, güvenli bir bağlantı kurar, ardından veri sağlar. Varsayılan / ilk ana bilgisayar her zaman bu istemcilere teslim edilecektir.

Daha yeni sürümleri OpenSSL ve müşteriler ekledi "Sunucu Adı BelirtimiSSL el sıkışmadan önceki uzantı. SNI tabanlı SSL Sanal barındırma. Yani bu sadece yeni için çalışacak wiki sayfasında listelenen tarayıcılar. Eski tarayıcılar sıkışmış olacak.


0
2018-02-23 09:13



Evet, katılıyorum, kişisel bir proje için olsa da, gerçekten başka bir IP satın almak istemedim. Son hedefim sadece SSL sitesinin başka bir alanın altında görünmemesini sağlamaktı ve sanırım şimdi sıraladım. Teşekkürler! - nearengine


Bunu gerçekleştirmek için Sunucu Adı Göstergesine (SNI) sahip olmanız gerekir. Lütfen bağlantıya bakın: http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI detaylar için.


0
2018-02-26 12:24



Bir cevap ya da örnek vermediğiniz için oylama yapıldı, yalnızca bir bağlantı (kalıcı olarak varlığının garanti edilmediği) - Chris Bloom