Apache使用虚拟主机将多个https域重定向到一个https域

Apache使用虚拟主机将多个https域重定向到一个https域

我正在运行带有 apache 2.4 的 CentOS 服务器,它服务于两个域:myurl.domain.commyurl.otherdomain.com。使用虚拟主机,我希望所有请求都重定向到https://myurl.domain.com。有效的方法:访问http://myurl.domain.comhttp://myurl.otherdomain.com重定向到的人https://myurl.domain.com/。无效的方法:重定向https://myurl.otherdomain.comhttps://myurl.domain.com/

在这里查看我的 httpd 配置:

<VirtualHost *:443>
       # this part does not seem to work...
       SSLEngine on
       ServerName myurl.otherdomain.com
       ServerAlias www.myurl.otherdomain.de
       Redirect / https://myurl.domain.com/
</VirtualHost>

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/pki/CA/cert.crt
        SSLCertificateKeyFile /etc/pki/CA/new.key
        SSLCertificateChainFile /etc/pki/CA/chain.pem
        <Directory /var/www/html/>
        AllowOverride All
        </Directory>
        TimeOut 600
        DocumentRoot /var/www/html
        ServerName myurl.domain.com
        ServerAlias www.myurl.domain.com
</VirtualHost>

<VirtualHost *:80>
        <Directory /var/www/html/>
        AllowOverride All
        </Directory>
        DocumentRoot /var/www/html
        ServerName myurl.domain.com
        ServerAlias www.myurl.domain.com myurl.otherdomain.com www.myurl.otherdomain.de
        TimeOut 600
        Redirect / https://myurl.domain.com/
</VirtualHost>

答案1

您还必须将SSLCertificateFileSSLCertificateKeyFileSSLCertificateChainFile指令添加到 443 虚拟主机myurl.otherdomain.com,即使它仅重定向到您的主域。确保您使用对此域有效的 SSL 证书。之后重新启动 apache 服务。

相关内容