重定向SSL而不发出警报


10

客户端仅对域的www.site.com版本具有SSL证书,而对site.com没有SSL证书。

通过mod_rewrite重定向常规HTTP并不是问题。

但是,这种方法对于我们来说对于HTTPS似乎失败了。

我们希望将https://site.com请求重定向到https://www.site.com

是否可以在浏览器中不发出无效证书警告或获取通配符证书的情况下完成此操作?

Answers:


10

不,那不是那样的。

SSL事务在发送任何HTTP之前发生,因此SSL警告将在任何重定向发生之前出现。

实际上,我也不相信通配符会起作用,因为site.com和* .site.com并不相同。您可能需要考虑证书上的使用者备用名称


我担心情况就是如此。感谢您确认。
djdy 2012年

1
这个答案是不正确的。参见serverfault.com/a/367843/113375
Ben Lessani-Sonassi 2012年

@ BenLessani-Sonassi链接的答案似乎并未涵盖当浏览器无法识别原始站点的证书时如何进行重定向。
迈克尔

我要说明的一点是,当以www子域变体购买时,几乎所有的CA都将提供涵盖顶点域和www子域的证书。
Ben Lessani-索纳西'18年

0

在以下情况下购买的RapidSSL基本证书

www.mydomain.com 

也涵盖

domain.com

尽管不是通配符,但它确实为您提供了TLD和www子域的保护。

是的,您可以从一个子域重定向到另一个域,而不会发生SSL错误-我们在很多站点上都使用了它,仅举一个例子:

https://www.theclientarea.info重定向到https://sms-sagat.theclientarea.info

没有错误。

一个简单的.htaccess重写会为您处理:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !On [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

HTTPS子域之间的任何类型的移动都可以正常运行,而不会出现错误或提示,无论是POST / GET / .htaccess重定向

唯一的问题是,如果您要从HTTPS重定向到HTTP,则会提示您。


正确,您在证书中使用“使用者备用名称”。OP将需要新证书。
cjc 2012年

不,我们正在使用2个单独的证书。但是我只是说,市场上最便宜的SSL证书满足了他的需求(支持带/不带www子域名的TLD)。
Ben Lessani-Sonassi 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.