我正在运行带有 apache 2.4 的 CentOS 服务器,它服务于两个域:myurl.domain.com
和myurl.otherdomain.com
。使用虚拟主机,我希望所有请求都重定向到https://myurl.domain.com
。有效的方法:访问http://myurl.domain.com
并http://myurl.otherdomain.com
重定向到的人https://myurl.domain.com/
。无效的方法:重定向https://myurl.otherdomain.com
到https://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
您还必须将SSLCertificateFile
、SSLCertificateKeyFile
和SSLCertificateChainFile
指令添加到 443 虚拟主机myurl.otherdomain.com
,即使它仅重定向到您的主域。确保您使用对此域有效的 SSL 证书。之后重新启动 apache 服务。