[英]Apache - Multiple SSL Issue
我在名為virtualhosts.conf的文件中定義了2個站點,該文件加載在httpd.conf的末尾。
它們都具有以下格式:
<VirtualHost IP:80>
DocumentRoot D:/Site/A/
...
</VirtualHost>
<VirtualHost IP:443>
DocumentRoot D:/Site/A/
...
</VirtualHost>
<VirtualHost IP__2:80>
DocumentRoot D:/Site/B/
...
</VirtualHost>
<VirtualHost IP__2:443>
DocumentRoot D:/Site/B/
...
</VirtualHost>
如果我使用上述配置加載https://sitea.com ,則加載就很好。 如果我使用上述配置加載https://siteb.com ,它就會中斷,並表示siteb將自己標識為sitea。 如果我翻轉條目的順序:
<VirtualHost IP__2:80>
DocumentRoot D:/Site/B/
...
</VirtualHost>
<VirtualHost IP__2:443>
DocumentRoot D:/Site/B/
...
</VirtualHost>
<VirtualHost IP:80>
DocumentRoot D:/Site/A/
...
</VirtualHost>
<VirtualHost IP:443>
DocumentRoot D:/Site/A/
...
</VirtualHost>
現在,siteb可以正常加載,但是sitea拋出一個錯誤,表明自己將自己標識為siteb。
到底是怎么回事? 似乎Apache缺省為文件中的“ top”條目,即使這兩個域對於它們的域來說似乎都是有效的(如果它們是第一個)。
編輯:我的httpd.conf的頂部:
Listen 80
Listen 443
NameVirtualHost IP.50:80
NameVirtualHost IP.50:443
NameVirtualHost IP.51:80
NameVirtualHost IP.51:443
NameVirtualHost IP.52:80
NameVirtualHost IP.52:443
NameVirtualHost IP.53:80
NameVirtualHost IP.53:443
NameVirtualHost IP.54:80
NameVirtualHost IP.54:443
NameVirtualHost IP.55:80
NameVirtualHost IP.55:443
NameVirtualHost IP.56:80
NameVirtualHost IP.56:443
SSL是在HTTP請求之前建立的,並且服務器在收到請求時不知道要提供誰的證書。 除了為每個安全域提供專用IP之外,此問題沒有通用解決方案。 順便說一句,您的問題在StackOverflow上是題外話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.