Tôi có một apache chạy dưới AWS Elastic Beanstalk. Tôi có một số miền khác nhau và tôi muốn tất cả chúng đều kết thúc bằng một tên miền cụ thể, bằng HTTPS.
Việc chuyển hướng từ các tên miền khác, ví dụ:. https://domain1.com đến https://maindomain.com trả về lỗi chứng chỉ SSL.
Trong apache, tôi có hai cấu hình máy chủ ảo, một cho *:80 và một cho *:443. Cả hai đều được đặt cho maindomain.com. Chúng được tạo bằng certbot.
Điều gì nên là phương pháp hay nhất để tính năng này hoạt động cho tất cả các miền khác?
Tôi đoán tôi cần thiết lập Virtualhost cho mỗi miền nhưng nó sẽ được định cấu hình như thế nào để nó hoạt động với các chuyển hướng?
Rõ ràng, mẫu sau đây không hoạt động vì nó trả về lỗi SSL:
<IfModule mod_ssl.c>
<VirtualHost domain1.com:443>
ServerName domain1.com
RedirectPermanent / https://maindomain.com/
</VirtualHost>
</IfModule>
Đây là cấu hình Virtualhost *:80 mặc định
<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>
Đây là cấu hình Virtualhost *:443 mặc định
<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>
Sự giúp đỡ của bạn sẽ được đánh giá rất cao.
Đ.