我是否需要在我的服务器上安装 SSL 证书才能从 443 重定向到 80?

我是否需要在我的服务器上安装 SSL 证书才能从 443 重定向到 80?

我想在我的 nginx Web 服务器中将所有 HTTPS 请求重定向到 HTTP。我曾尝试过以下方法:

server {
       listen 443;
       server_name my.site.com;
       rewrite ^(.*) http://$host$1 permanent;
 }

但每当我尝试点击时,https://my.site.com我的浏览器中都会出现以下错误:

无法与服务器建立安全连接。这可能是服务器的问题,或者它可能需要您没有的客户端身份验证证书。错误代码:ERR_SSL_PROTOCOL_ERROR

我检查了 nginx 日志并发现以下条目:

T="2013-09-27T22:41:05+00:00" IP=108.166.113.99 USR=- RQ="GET / HTTP/1.1" ST=200 BB=6237 MS=0.000 REF="-" UA="python-requests/0.13.6 CPython/2.7.3 Linux/3.2.0-24-virtual"
T="2013-09-27T22:41:05+00:00" IP=108.166.113.99 USR=- RQ="GET / HTTP/1.1" ST=301 BB=184 MS=0.000 REF="-" UA="python-requests/0.13.6 CPython/2.7.3 Linux/3.2.0-24-virtual"
T="2013-09-27T22:41:05+00:00" IP=108.166.113.99 USR=- RQ="GET / HTTP/1.1" ST=200 BB=6237 MS=0.000 REF="-" UA="python-requests/0.13.6 CPython/2.7.3 Linux/3.2.0-24-virtual"
T="2013-09-27T22:41:05+00:00" IP=108.166.113.99 USR=- RQ="GET /sitemap.xml HTTP/1.1" ST=200 BB=3965 MS=0.000 REF="-" UA="python-requests/0.13.6 CPython/2.7.3 Linux/3.2.0-24-virtual"

但不知道它们是什么意思……我的服务器上没有安装任何证书,这可能导致问题吗?如果不是,有人能看出我做错了什么吗?

答案1

是的,您需要 SSL 证书。

由于您使用 https 进行连接,因此浏览器需要证书;除非您连接到网址://my.site.com:443 而不是https://我的.site.com。

您可以对其进行自我签名,但在最终将您重定向到 http 网站之前,大多数(所有)浏览器仍会发出警告。

相关内容