#apache #ssl #https #http-status-code-404
#apache #ssl #https #http-status-code-404
Вопрос:
Я запускаю сервер Apache через AWS: httpd-2.2.34-1.16.amzn1.x86_64
Что касается местоположения, корень моего сайта находится здесь: /var/www/html/ena
Сайт загружается из виртуального каталога с: /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/ena
ServerName enetapplications.com
RewriteEngine on
RewriteCond %{SERVER_NAME} =enetapplications.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,NE,R=permanent]
</VirtualHost>
Сайт работал, пока я не добавил SSL через letsencrypt. В файле: /etc/httpd/conf.d/ssl.conf
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot /var/www/html/ena
ServerName enetapplications.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/enetapplications.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/enetapplications.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/enetapplications.com/chain.pem
</VirtualHost>
Let’s Encrypt, похоже, загружался нормально, поскольку я вижу https в URL-адресе и что это безопасное соединение, однако каким-то образом при настройке я перепутал путь к веб-сайту (enetapplications.com ) — обратите внимание, что он всегда был в виртуальном каталоге
Пожалуйста, сообщите о любой другой информации, которую я могу добавить, чтобы сделать это более понятным, и заранее спасибо за помощь.
Ответ №1:
При просмотре журналов ошибок отмечается следующий журнал:
[Sun Jan 10 04:57:09 2021] [error] [client 185.104.184.116] File does not exist:
/var/www/html/ena/ena, referer: https://enetapplications.com/ena/home/home.php
Это интересно тем, что веб-сайт находится /var/www/html/ena
, а НЕ /var/www/html/ena/ena
.
Чтобы исправить это, я настроил каталог для перемещения root /var/www/html-ena
, скопировал все файлы в новый root и соответствующим образом изменил файлы конфигурации, например /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
DocumentRoot /var/www/html-ena
ServerName enetapplications.com
RewriteEngine on
RewriteCond %{SERVER_NAME} =enetapplications.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,NE,R=permanent]
</VirtualHost>
Похоже, это сработало, хотя каким-то образом при загрузке Letsencrypt я запутал php, но это другая проблема, которую еще нужно исправить, но на данный момент SSL работает с настройкой структуры каталогов.