Linux
專用伺服器上的多個虛擬主機出現問題。第二個 VH 不會響應,第一個會
我有兩個虛擬主機設置並使用 a2ensite 啟用。
它是 Ubuntu Server 14.04.1 LTS、Apache2 等。
因此 /etc/apache2/sites-available 中有兩個配置文件,並且它們各自的符號連結在啟用了站點。
問題是只有第一個可以訪問。我正在使用基於名稱的虛擬主機,因此多個域名指向一個專用 IP。當訪問第二個添加的域時,伺服器根本沒有響應,甚至沒有錯誤程式碼。該域確實解析為正確的 IP。訪問第一個域,或者IP直接顯示第一個vhost站點。
這是更改為 example1 和 example2 的兩個配置。
<VirtualHost example1.co.uk:80> DocumentRoot "/var/www/example1.co.uk" ServerAdmin webmaster@example1.co.uk ServerName example1.co.uk <Directory "/var/www/example1.co.uk"> Order allow,deny Allow from all Allowoverride all </Directory> </VirtualHost> <VirtualHost example2.com:80> DocumentRoot "/var/www/example2.com" ServerAdmin webmaster@example2.com ServerName example2.com <Directory "/var/www/example2.com"> Order allow,deny Allow from all Allowoverride all </Directory> </VirtualHost>
我已經在這個問題上工作了幾天並且用盡了我的知識。對我來說,這似乎不是典型的錯誤配置。我希望你能幫忙。謝謝。
感謝您的任何幫助和建議。
這兩個域不會解析到相同的 IP。
[jenny@temeraire ~] $ dig epints.com A ;; QUESTION SECTION: ;epints.com. IN A ;; ANSWER SECTION: epints.com. 300 IN A 198.23.203.161 [jenny@temeraire ~] $ dig reefbase.co.uk A ;; QUESTION SECTION: ;reefbase.co.uk. IN A ;; ANSWER SECTION: reefbase.co.uk. 300 IN A 198.23.203.162
這就是為什麼隱藏域名是一件壞事的原因……
如果兩個主機名解析為同一個 IP,Apache 幾乎不可能只響應其中一個。但是,例如過濾反向代理或防火牆可能會阻止包含主機名之一的包。這就是為什麼 telnet 是一個如此有用的工具,因為它以瀏覽器沒有的方式向您顯示通信的每一步。