如何在 Nginx 中将每个 https 请求重定向到 http?

Cyr*_* N. 4 http nginx https redirect

这个问题在 StackOverflow 上被问过很多次,但我的问题有点不同:

我有多个子域网站:

如您所见,只有管理员通过 https 提供服务。

我在 Nginx 中成功创建了所有虚拟主机,并且效果很好。

但是现在,我想将所有尝试通过 https 访问其他子网站的客户端重定向到 http :

=> 只有管理员做相反的事情。

我的第一个想法是使用重定向设置每个 https 域:

server {
    listen 443;
    server_name www.example.com;

    rewrite         ^(.*)    http://www.example.com$1;
}
Run Code Online (Sandbox Code Playgroud)

并为每个子域(www、my 和 client)执行此操作。

但这不起作用,我的浏览器出现 SSL 错误(SSL 记录太长)。

我怎样才能做到这一点?

谢谢你的帮助!

Mik*_*ike 5

您需要在服务器中包含 nginx 的所有 ssl 内容{}

你至少需要

            ssl                  on;
            ssl_certificate      /etc/ssl/domain.com.crt;
            ssl_certificate_key  /etc/ssl/domain.com.key;
Run Code Online (Sandbox Code Playgroud)