我遇到了這個問題,因爲我有相同端口的多個通配符條目。您可以輕鬆地通過執行apache2ctl -S
檢查:
# apache2ctl -S
[Wed Oct 22 18:02:18 2014] [warn] _default_ VirtualHost overlap on port 30000, the first has precedence
[Wed Oct 22 18:02:18 2014] [warn] _default_ VirtualHost overlap on port 20001, the first has precedence
VirtualHost configuration:
11.22.33.44:80 is a NameVirtualHost
default server xxx.com (/etc/apache2/sites-enabled/xxx.com.conf:1)
port 80 namevhost xxx.com (/etc/apache2/sites-enabled/xxx.com.conf:1)
[...]
11.22.33.44:443 is a NameVirtualHost
default server yyy.com (/etc/apache2/sites-enabled/yyy.com.conf:37)
port 443 namevhost yyy.com (/etc/apache2/sites-enabled/yyy.com.conf:37)
wildcard NameVirtualHosts and _default_ servers:
*:80 hostname.com (/etc/apache2/sites-enabled/000-default:1)
*:20001 hostname.com (/etc/apache2/sites-enabled/000-default:33)
*:30000 hostname.com (/etc/apache2/sites-enabled/000-default:57)
_default_:443 hostname.com (/etc/apache2/sites-enabled/default-ssl:2)
*:20001 hostname.com (/etc/apache2/sites-enabled/default-ssl:163)
*:30000 hostname.com (/etc/apache2/sites-enabled/default-ssl:178)
Syntax OK
注意如何在輸出的開頭是幾個警戒線。這些將顯示哪些端口正在創建問題(但您可能已經知道這一點)。
接下來,看看輸出的結尾,並且您可以準確查看正在創建問題的虛擬主機的哪些文件和行。在上面的示例中,端口20001分配在第33行的/etc/apache2/sites-enabled/000-default
和第163行的/etc/apache2/sites-enabled/default-ssl
。同樣*:30000
列在2個地方。解決方案(在我的情況下)只是刪除其中一個條目。
你在檢查哪些日誌?如果你在一個Linux系統上,運行'netstat -lp --inet'來查看是否有進程已經在運行,並且使用端口443. – Ansari
nope沒有別的東西在使用端口443.問題是我的< VirtualHost _default_:443>和 .... –
Mark
注意:我已將'NameVirtualHost'位放入'部分 - 看起來很明智 - 但它必須在該範圍之外。 –
artfulrobot