У меня есть апач, работающий под AWS Elastic beanstalk. У меня есть несколько разных доменов, и я хочу, чтобы все они заканчивались определенным доменным именем в HTTPS.
Перенаправление с других доменов, например. https://домен1.com к https://maindomain.com возвращает ошибку сертификата SSL.
В apache у меня есть две конфигурации виртуальных хостов, одна для *:80 и одна для *:443. Оба установлены для maindomain.com. Они были созданы с помощью certbot.
Какой должна быть наилучшая практика, чтобы это работало для всех других доменов?
Думаю, мне нужно настроить VirtualHost для каждого домена, но как его настроить, чтобы он работал с перенаправлениями?
Очевидно, что следующий пример не работает, так как возвращает ошибку SSL:
<IfModule mod_ssl.c>
<VirtualHost domain1.com:443>
ServerName domain1.com
RedirectPermanent / https://maindomain.com/
</VirtualHost>
</IfModule>
Вот конфигурация Virtualhost *:80 по умолчанию.
<VirtualHost *:80>
#ServerName maindomain.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =maindomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Вот конфигурация Virtualhost *:443 по умолчанию.
<IfModule mod_ssl.c>
<VirtualHost *:443>
#ServerName maindomain.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ServerName maindomain.com
SSLCertificateFile /etc/letsencrypt/live/maindomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/maindomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Ваша помощь будет очень признательна.
Д