1

我已经在以下位置设置了一个网站:

https://foo.com

如果来自以下网址的流量,我希望它:

http://foo.com
http://www.foo.com
https://www.foo.com

会自动重定向到那里。也就是说,如果有人在他们的浏览器中键入较低的三个 URL 之一,我希望它立即更改显示的 URL,https://foo.com并且我希望https://foo.com在服务器上接收 HTTPS 请求,就像该人键入https://foo.com.

哪种方法最好?我正在使用 Apache。

SSL证书也foo.com没有签名,是否可以在不发出证书警告的情况下www.foo.com实现重定向?https://www.foo.com还是我需要获得第二个证书www.foo.com

4

2 回答 2

1

在您的 vhost 文件或 .htaccess 文件中使用重写来重定向所有非 SSL 站点都没有问题(假设您有 *.foo.com 是 foo.com 的服务器别名)。

您需要为每个拼写错误的 ssl url 提供一个证书,否则当人们尝试连接它们时,它们会出现证书错误。完成后,您可以重定向它们。

假设服务器别名已设置并且您启用了 mod_rewrite,以下是您需要的重写规则:

RewriteRule (.*) https://foo.com/$1 [R=301,L]
于 2012-08-15T19:30:05.923 回答
0

未经测试但值得一试
将此附加到您的 httpd.conf

<VirtualHost *:80>
        ServerName foo.com
        ServerAlias www.foo.com
        DocumentRoot /var/www/foo
</VirtualHost>

<VirtualHost *:443>
        ServerName foo.com
        DocumentRoot /var/www/foo
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/certificate.crt
        SSLCertificateKeyFile /etc/ssl/certs/app_foo_com.key
        SSLCertificateChainFile /etc/ssl/certs/foo.ca.crt
        ErrorLog /var/log/ssl_engine.log
</VirtualHost>
于 2012-08-15T19:31:55.750 回答