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

前端之家收集整理的这篇文章主要介绍了如何在Nginx中将每个https请求重定向到http?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

StackOverflow上已经多次询问过这个问题,但我的问题有点不同:

我有多个子域名网站:

> http://www.example.com
> http://my.example.com
> https://admin.example.com
> http://client.example.com

如您所见,只有管理员通过https提供.

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

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

> https://www.example.com =>重定向http://www.example.com
> https://my.example.com =>重定向http://my.example.com
> https://client.example.com =>重定向http://client.example.com

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

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

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

    rewrite         ^(.*)    http://www.example.com$1;
}

并为每个子域(www,我和客户端)做了这个.

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

我怎样才能做到这一点?

谢谢你的帮助!

最佳答案
您需要在服务器{}中包含Nginx的所有ssl内容

你至少需要

            ssl                  on;
            ssl_certificate      /etc/ssl/domain.com.crt;
            ssl_certificate_key  /etc/ssl/domain.com.key;

猜你在找的Nginx相关文章