После долгих часов исследований я публикую это. Я пытаюсь добавить домен и его поддомен на один статический IP-адрес, созданный в экземпляре LAMP в Amazon Lightsail, и добавить SSL-сертификат Let's Encrypt к обоим. До добавления SSL мои виртуальные хосты работали нормально. Файлы из правильного каталога обслуживались, как определено в httpd-vhosts.conf. Но после запуска битнами bncert-tool
чтобы добавить перенаправления SSL, https и www, все пошло наперекосяк.
Подробное объяснение проблемы:
@.example.com
, www.example.com
, app1.example.com
, и www.app1.example.com
. Все разрешается на один статический IP, созданный ранее./opt/bitnami/apache2/htdocs
). /opt/bitnami/apache2/htdocs/main
для example.com
и /opt/bitnami/apache2/htdocs/app1
для app1.example.com
./opt/bitnami/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80> DocumentRoot "htdocs/main" ServerName realtypillar.com </VirtualHost> <VirtualHost *:80> DocumentRoot "htdocs/proutil" ServerName pro-util.realtypillar.com </VirtualHost>
http://example.com
и http://app1.example.com
отображение htdocs/main
и `htdocs / app11 соответственно)sudo /opt/bitnami/bncert-tool
. Поступил example.com app1.example.com
в подсказке со списком доменов. Включена опция http в https, включена опция без www в www и отключена опция www в non-www при появлении запроса. Успешно запустить процесс без предупреждения или сообщения об ошибке.https://www.example.com
(что правильно), но показывает мне index.html из htdocs
вместо того htdocs/main
как указано в конфигурации vhost. И когда я захожу на app1.example.com, он не перенаправляет на https и не добавляет префикс www в url. Но он загружает файлы из правильного каталога, т.е. htdocs/app1
.---РЕДАКТИРОВАТЬ---
Ниже приведены мои файлы httpd conf для справки:
Было бы здорово, если бы кто-нибудь указал мне, в чем я ошибаюсь?
Bitnami Engineer здесь,
Инструмент настройки Bitnami HTTPS обновляет только SSL-конфигурацию основного виртуального хоста (тот, который находится внутри файла /opt/bitnami/apache2/conf/bitnami/bitnami.conf), поэтому, если у вас есть собственные виртуальные хосты, вам нужно будет изменить их вручную, используя сертификаты SSL, созданные инструментом. В вашем случае вам нужно будет использовать эту конфигурацию в созданном вами файле httpd-vhosts.conf.
<VirtualHost *:80>
DocumentRoot "/opt/bitnami/apache2/htdocs/main"
ServerName realtypillar.com
ServerAlias realtypillar.com www.realtypillar.com
# BEGIN: Enable HTTP to HTTPS redirection
RewriteEngine On
RewriteRule ^/(.*) https://realtypillar.com/$1 [R,L]
# END: Enable HTTP to HTTPS redirection
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/opt/bitnami/apache2/htdocs/proutil"
ServerName pro-util.realtypillar.com
ServerAlias pro-util.realtypillar.com www.pro-util.realtypillar.com
# BEGIN: Enable HTTP to HTTPS redirection
RewriteEngine On
RewriteRule ^/(.*) https://pro-util.realtypillar.com/$1 [R,L]
# END: Enable HTTP to HTTPS redirection
</VirtualHost>
<VirtualHost _default_:443>
DocumentRoot "/opt/bitnami/apache2/htdocs/main"
ServerName realtypillar.com
ServerAlias realtypillar.com www.realtypillar.com
# BEGIN: Enable www to non-www redirection
RewriteEngine On
RewriteCond %{HTTP_HOST} !^realtypillar.com$
RewriteRule ^(.*)$ https://realtypillar.com$1 [R=permanent,L]
# END: Enable www to non-www redirection
<Directory "/opt/bitnami/apache2/htdocs/main">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
</Directory>
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/realtypillar.com.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/realtypillar.com.key"
</VirtualHost>
<VirtualHost _default_:443>
DocumentRoot "/opt/bitnami/apache2/htdocs/proutil"
ServerName pro-util.realtypillar.com
ServerAlias pro-util.realtypillar.com www.pro-util.realtypillar.com
# BEGIN: Enable www to non-www redirection
RewriteEngine On
RewriteCond %{HTTP_HOST} !^pro-util.realtypillar.com$
RewriteRule ^(.*)$ https://pro-util.realtypillar.com$1 [R=permanent,L]
# END: Enable www to non-www redirection
<Directory "/opt/bitnami/apache2/htdocs/proutil">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
</Directory>
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/realtypillar.com.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/realtypillar.com.key"
</VirtualHost>
Для протокола, мы говорили обо всех этих изменениях в эта ветка форума сообщества Bitnami.