Ssl
Apache 上的 SSL;未找到請求的 URL
我正在我的 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 瀏覽器返回錯誤 404
The 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 相同)。