2013-09-28 37 views
10

yanlış site gösteren Apache sunucusu başına birden çok site Bir dizi istemci sitesi çalıştıran bir Debian sunucum var. Bunların çoğu SSL'yi çalıştırmıyor, bu yüzden HTTP ile erişim iyi.SSL ile HTTPS

SSL sertifikalı bir müşterim var ve sitelerine HTTPS üzerinden erişmekte de gayet iyi.

HTTPS ile diğer sitelerden birine erişmeye çalıştığınızda sorun, SSL sertifikasına sahip diğer siteye yönlendirilirseniz gelir. Charlie SSL ile tek ve bağımsız http charlie.net giderseniz Yani gördüğünüz gibi

alpha.net 
bravo.net 
charlie.net (SSL) 
delta.net 

: Mesela

, biz sunucu üzerinde aşağıdaki siteleri söylüyorlar sağlar veya https charlie.net, iyi çalışıyor.

http: Diğer tüm siteler için iyi, ancak https alpha.net adresine gitmiş olsaydınız, başlangıçta bir Geçersiz Sertifika hatasıyla gelir ve devam etmenize izin verir ancak adres çubuğunda alpha.net bulunur. , aslında tarayıcıda charlie.net sitesini gösteriyor.

SNI'yi araştırdım ve diğer sitelerin SSL'leri varsa bunların hepsini belirli IP adreslerine koymam gerekecek (hiçbir fikrim yokken nasıl yapmam gerektiğini denemeliyim) ama ben bunun neden olduğunu veya nasıl çözdüğümü bilmiyorum.

Bunu daha önce başka biriyle karşılaştı mı ve etrafından nasıl geçtiniz?

Çok teşekkürler,

Rob

+0

Bunu daha fazla araştırdım ve bunun, 443'ü içeren tek apache site konfigürasyon dosyasının charlie.net olması nedeniyle olduğunu öğrendim. Bunu dahil eden tek kişi olduğu için, https ve diğer etki alanlarından birine gitmeyi denerseniz bile, https ile tek olan charlie.net'e gidersiniz. Yani bu mükemmel bir anlam ifade ediyor.Şimdi nasıl yapacağımı bilmiyorum, 443'ü kurup ona bir sertifika olmadığı için http yönlendirme yapmak için bir https talimatı vermek. Öyleyse kimsenin bunu nasıl yapacağını bilseydim bunu takdir ederdim. – Rob

+1

joon, Webmasters SE'de aynı sorunu fark etti: [“https: //” rastgele bir siteyi ifade eder, “http: //” bozuktur, ancak “http: // www” çalışır (http://webmasters.stackexchange). com/Q/55685/17633) – unor

cevap

1

sunucunuzda birden IP'leri varsa, SSL site için benzersiz birini kullanın tüm SSL olmayan siteler başka IP'yi paylaşırlar.

SSL ziyaret ettiğiniz alanın ne olduğunu umursamadığı için, yalnızca geçerli alanın Ip adresinden aldığı Etki Alanı listesinden (Ortak Ad) onaylanmasıyla ilgilenir.

2

Şu an için yalnızca bir HTTPS sunucunuz olduğundan SNI ile ilgisi yoktur. Yorumunuzda belirttiğiniz gibi, alpha.net alan adının sunucunuzun IP'sine göre çözüldüğü durumdur. Apache sunucunuz, bu IP'deki 443 numaralı bağlantı noktasında istekleri dinleyecek ve bu isteklere charlie.net'in içeriğini sunacak şekilde ayarlanmıştır. (Ve sertifika hatası, tarayıcının, sertifikanın etki alanı adıyla talep için kullanılan etki alanı adı arasındaki tutarsızlığı fark ettiği anlamına gelir.)

HTTPS'den HTTP'ye yeniden yönlendirmek, muhtemelen geçerli olması gerekeceğinden, değerinde daha fazla sorun olabilir. Kullanıcılarınızı başka bir güvenlik uyarısı ile göstermediğiniz için her alanın sertifikaları. Bu (yani openssl ile 2.2 + Apache sonraki sürümleri), SNI yetenekli sunucu üzerinde, yani sanal alpha.net:443 için ana ve oluşturma gerektirir ve bu yüzden böyle bir yeniden yönlendirme ekleyerek olacaktır: Muhtemelen

RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 

Sorununuz için en kolay rota, charlie.net için farklı bir IP kullanmaktır. Bu kurulum ile, başka bir sitenin içeriğini görüntülemek için alpha.net (ve benzeri) için bir yol olmaz.