Ssl

NameVirtualHost 12.345.67.89:443 在啟用和禁用 suexec 模組後沒有 VirtualHosts

  • October 5, 2011

在嘗試啟用 suexec 模組的過程中,我開始收到這些警告(當我重新啟動 apache 時)。我在啟用和禁用 suexec 時得到它們:

* Restarting web server apache2
[Wed Oct 05 01:29:40 2011] [warn] NameVirtualHost 12.345.67.89:443 has no VirtualHosts
... waiting [Wed Oct 05 01:29:41 2011] [warn] 12.345.67.89:443 has no VirtualHosts
...done.

我正在執行 Ubuntu 10.04、Apache2.2、PHP、MYSQL…

我正在通過 https:// 執行一個帶有簽名證書、ssl 等的站點,以及其他幾個未加密的站點。這以前工作正常,但現在(因為我在嘗試啟用 suexec 後重新啟動了伺服器)我收到了上述錯誤。如果啟用了 :443 虛擬主機,apache 將不會重新啟動,也不會提供任何服務。如果我禁用 :443 虛擬主機,apache 將不會重新啟動,並且不會為我託管的任何域提供服務。

除了 suexec 配置(通過命令行)之外,我唯一搞砸的是啟用 ssl 的域的啟用站點的配置文件,如下所示:

<VirtualHost *:80>
    ServerAdmin name@gmail.com
    ServerName mysite.com
    ServerAlias www.mysite.com
    DocumentRoot /srv/www/mysite.com/public_html/
    ErrorLog /srv/www/mysite.com/logs/error.log
    CustomLog /srv/www/mysite.com/logs/access.log combined
</VirtualHost>

<VirtualHost *:443>
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/mysite.com.crt
    ServerAdmin name@gmail.com
    ServerName mysite.com
    ServerAlias www.mysite.com
    DocumentRoot /srv/www/mysite.com/public_html/
    ErrorLog /srv/www/mysite.com/logs/error.log
    CustomLog /srv/www/mysite.com/logs/access.log combined
</VirtualHost>

無論如何,我不確定這裡發生了什麼,但我不願意深入探勘其他 apache / ssl 配置,因為我沒有在那裡更改任何內容並且之前一切正常。

我難住了。

編輯

更多資訊:

/etc/apache2/ports.conf:

Listen 12.345.67.89:80

<IfModule mod_ssl.c>
   Listen 443
</IfModule>

<IfModule mod_gnutls.c>
   Listen 443
</IfModule>

NameVirtualHost 12.345.67.89:443

/etc/apache2/sites-enabled/000-default沒有提到埠 443

…也沒有/etc/apache2/sites-available/default

出現此警告是因為您定義了NameVirtualHostfor12.345.67.89:443但沒有<VirtualHost 12.345.67.89:443>. 因此,更改為NameVirtualHost *:443,它將消失。

引用自:https://serverfault.com/questions/318594