HTTPS дает 404 не найдена ошибка
Я установил SSL-сертификацию на моем облачном хостинге bitnami google.
сертификат был установлен имущество и даже
Я могу получить доступ к:
https://domain.com
но когда я пытаюсь получить доступ
https://domain.com/xyz
это дает мне 404 не найдена ошибка
Ниже мой binami.conf
файл
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"
DocumentRoot "/opt/bitnami/apache2/htdocs/domain/public/"
<Directory "/opt/bitnami/apache2/htdocs/htdocs/domain/public/">
Options FollowSymLinks MultiViews
AddLanguage en en
LanguagePriority en
ForceLanguagePriority Prefer Fallback
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3 >
Require all granted
</IfVersion>
</Directory>
# Error Documents
ErrorDocument 503 /503.html
# Bitnami applications installed with a prefix URL (default)
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>
Может кто-нибудь, пожалуйста, помогите мне, что пошло не так
Для дополнительной информации
Я использую облачную платформу Google со стеком Bitnami LAMP
4 ответа
В <VirtualHost _default_ *:80>
Вы устанавливаете:
DocumentRoot "/opt/bitnami/apache2/htdocs/domainDIR/public/"
Однако в <VirtualHost *:443>
Вы устанавливаете:
DocumentRoot "/opt/bitnami/apache2/htdocs/domain/public/"
Где находится ваше веб-приложение? Оба пути должны быть одинаковыми.
Вообще говоря, 404 NOT FOUND
может быть подан с 1 из 2 мест в этой ситуации. Сервер Apache может отвечать 404
или запрос, полученный Apache, направляется в приложение, и приложение обслуживает 404
,
Если бы приложение обслуживало 404 NOT FOUND
Как владелец приложения, можно было бы регистрировать каждый запрос, чтобы увидеть, как это происходит. Поскольку вы вообще не упоминали о приложении, мы должны предположить, что это не источник, и исследовать сервер Apache.
Конфигурации, которые вы предоставили для HTTP (: 80) и HTTPS (: 443), служат статическим ресурсам с <Directory "">
, Тем не менее, пути к каталогу и DocumentRoot
различаются между HTTP и HTTPS, как упомянуто @Juan.
"/opt/bitnami/apache2/htdocs/domainDIR/public/"
знак равно "/opt/bitnami/apache2/htdocs/domain/public/"
Если у вас нет 2 разных каталогов для обслуживания статических ресурсов на основе HTTP(S), то это наиболее вероятная причина 404
, Apache не может найти "/opt/bitnami/apache2/htdocs/domain/public/"
при обслуживании по HTTPS.
Обратите внимание, что в настоящее время образ Bitnami LAMP в Google Cloud развертывается с использованием Apache 2.4.25 и, следовательно, никогда не должен соответствовать <IfVersion < 2.3>
критерии. Это безопасно сохранить, если использовать ту же конфигурацию в другом месте.
Просто думаю, но я думаю, что bitnami.conf должен иметь это только для ssl-части.
# Default SSL Virtual Host configuration.
<IfModule !ssl_module>
LoadModule ssl_module modules/mod_ssl.so
</IfModule>
Listen 443
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !EDH !RC4"
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/opt/bitnami/apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
<VirtualHost _default_:443>
DocumentRoot "/opt/bitnami/apache2/htdocs"
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"
<Directory "/opt/bitnami/apache2/htdocs">
Options FollowSymLinks MultiViews
AddLanguage en en
LanguagePriority en
ForceLanguagePriority Prefer Fallback
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3 >
Require all granted
</IfVersion>
</Directory>
# Error Documents
ErrorDocument 503 /503.html
# Bitnami applications installed with a prefix URL (default)
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>
# Bitnami applications that uses virtual host configuration
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf"
и вы должны поставить свой <VirtualHost *:443>
код сверху (вверху) в файл /extras/httpd-ssl.conf.
Затем перезапустите Apache через Putty (или что вы используете)
sudo /opt/bitnami/ctlscript.sh перезапустите apache
Я постараюсь проверить это где-нибудь на этой неделе и отредактировать по мере необходимости ( 8^{D=
@DusanBajic
<VirtualHost _default_ *:80>
DocumentRoot "/opt/bitnami/apache2/htdocs/domainDIR/public/"
<Directory "/opt/bitnami/apache2/htdocs/domainDIR/public/">
Options FollowSymLinks MultiViews
AddLanguage en en
LanguagePriority en
ForceLanguagePriority Prefer Fallback
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3 >
Require all granted
</IfVersion>
</Directory>
# Error Documents
ErrorDocument 503 /503.html
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>