ฉันใช้ apache ที่ทำงานภายใต้ AWS Elastic Beanstalk ฉันมีโดเมนที่แตกต่างกันหลายโดเมน และต้องการให้ทั้งหมดลงท้ายด้วยชื่อโดเมนเฉพาะใน HTTPS
การเปลี่ยนเส้นทางจากโดเมนอื่นเช่น https://domain1.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>
ความช่วยเหลือของคุณจะได้รับการชื่นชมอย่างมาก
ง