Ssl

Apache 上的 SSL;未找到請求的 URL

  • January 25, 2016

我正在我的 Apache/2.4.6 RHEL 伺服器上設置 SSL。在httpd.conf中,有如下所示的 VirtualHosts…

<VirtualHost *:80>
   ServerName foo.bar
   Redirect permanent / https://foo.bar
</VirtualHost>


<VirtualHost *:443>
   DocumentRoot /path/to/file

   ServerName foo.bar

   SSLEngine on
   SSLCertificateFile /path/to/file
   SSLCertificateKeyFile /path/to/file
   SSLCertificateChainFile /path/to/file

</VirtualHost>

當我在 VirtualHosts 之外的 httpd.conf 中註釋掉 DocumentRoot 時,Web 瀏覽器返回錯誤 404The requested URL / was not found on this server.

我是否需要在之外有一個 DocumentRoot VirtualHost *:443?如果沒有,當我將其註釋掉時會發生什麼?

原來我單獨設置了 ssl.conf 並且不正確。修復了 ssl.conf 並從 httpd.conf 中刪除了 443 的 VirtualHost,它就像一個魅力!

您將在某些 apache 配置中定義一個 DocumentRoot,伺服器可能無法訪問它,您可以通過發出 RHEL 風格來檢查這一點:

/usr/sbin/httpd -S

和 Debian

/usr/sbin/apache2ctl -S 

它應該包含一個變數:

Main DocumentRoot: "/var/www/html"

您可以調整它或在虛擬主機部分設置一個(我更喜歡這個,設置為與 SSL vhost 相同)。

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