Назад | Перейти на главную страницу

SSL на apache; запрошенный URL не найден

Я настраиваю SSL на своем сервере Apache / 2.4.6 RHEL. В 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>

Когда я комментирую DocumentRoot в httpd.conf вне VirtualHosts, веб-браузер возвращает ошибку 404 The requested URL / was not found on this server.

Нужен ли мне DocumentRoot вне VirtualHost *:443? Если нет, что происходит, когда я это комментирую?

Оказывается, я настроил ssl.conf отдельно и неправильно. Исправлен ssl.conf и удален VirtualHost для 443 из httpd.conf, и он работает как шарм!

В некоторой конфигурации apache у вас будет определен DocumentRoot, который, вероятно, недоступен для сервера, вы можете проверить это, выполнив для вариантов RHEL:

 /usr/sbin/httpd -S

и Debian

/usr/sbin/apache2ctl -S 

Он должен содержать переменную:

Main DocumentRoot: "/var/www/html"

Вы можете либо настроить это, либо установить его в разделе виртуального хоста (я бы предпочел, чтобы он был установлен таким же, как SSL vhost).