【发布时间】:2019-04-12 10:14:30
【问题描述】:
我正在尝试将 Domain-A 的两个版本(HTTP 和 HTTPS)重定向到另一个域 Domain-B。很简单的东西,但没那么简单。
看看我现在在做什么:
<VirtualHost *:80>
ServerName DOMAIN-A.com
ServerAlias www.DOMAIN-A.com
RewriteEngine on
RewriteRule (.*) http://DOMAIN-B.com? [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName DOMAIN-A.com
ServerAlias www.DOMAIN-A.com
RewriteEngine on
RewriteRule (.*) https://DOMAIN-B.com? [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName DOMAIN-B.com
DocumentRoot /var/www/DOMAIN-B/html
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/DOMAIN-B/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/DOMAIN-B/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/DOMAIN-B/chain.pem"
</VirtualHost>
按预期向 DOMAIN-B 的 HTTP(端口 80)请求 DOMAIN-A
对 HTTPS(端口 443)DOMAIN-A 的请求不重定向,而是给我 SSL 证书错误。由于 DOMAIN-A 没有 SSL,因此呈现我的默认服务器证书而不是重定向。 (SSL BAD DOMAIN)当我在浏览器中接受异常时,它会重定向。
问题***
你能看到我的虚拟主机文件有什么错误吗?还是我需要为要重定向的域创建 SSL 证书?任何更简单的解决方法?
非常感谢
【问题讨论】: