不安全的连接:问题redirect到非www使用https

我对服务器configuration不太熟悉,请帮我解决这个问题:

我有一个Debian8服务器和一个SSL证书,SSL证书只适用于我的非www域,所以我想redirect所有www请求到非www,通过下面的htaccess代码其工作的一些浏览器,但没有为其他一些工作

在Chrome浏览器上:成功将http://www.example.comhttp://example.com请求redirect到https://example.com这就是我想要的所有浏览器。

在Mozilla上:http://www.example.com请求redirect到https://www.example.com并停止使用INSECURE CONNECTION错误。 我想从这里浏览器首先检查www的SSL证书,并停止在非wwwredirect之前。

以下是我的.htaccessredirectwww到https与非www,是什么我错过了.htaccess ? 或任何其他解决scheme通过DNS或借助Apache默认ssl.conf

 RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

我的SSL证书是Certbot ,我按照这个教程来安装https://www.youtube.com/watch?v=-TPoGQ4IjDI&t=100s你可以看到只有一个域名是non-www,没有设置SSL的选项www的证书。 如果我能得到www的SSL证书,那么我也可以解决这个问题。

它为一些浏览器工作,但不为其他人工作

除非您之前可能已经接受了无效的证书,否则它不应该是任何浏览器的“工作”? 您的网站收到请求之前,您将收到无效的证书浏览器警告。 SSL握手是在请求期间发生的第一件事,以确保连接是安全的,在这种情况发生之前不可能实现redirect(或任何其他)。

解决您的问题的唯一方法是实施一个涵盖www子域的SSL证书。

这应该是一个评论,但它有点长。

我想从这里浏览器首先检查www的SSL证书,然后停止非wwwredirect。

为什么你这么想?

你看看你的日志,看看实际上要求什么?

这种行为的最可能原因是您的Firefox浏览器无法validation证书 – 但是您检查了具体的错误信息,并认定它与此处的讨论无关,因此您没有告诉我们这是什么内容。 并且您尝试直接在https://example.com指向firefox并没有得到相同的错误。

还是你?