宝塔面板linux设置SSL如何实现 Nginx环境下http和https(ssl)共存的方法

  1. 悟空亲测的一种能让linux服务器Nginx环境下配置SSL能让http和https共存的方法

  这种方法是通过宝塔linux面板Nginx环境下一键部署SSL服务用到的

就是打开宝塔面板,找到网站配置文件,然后删除掉配置SSL设置的301跳转即可(就是删除红框内容即可)

QQ截图20170823232547.png

删除代码如下:

if ($server_port !~ 443){

        rewrite ^(/.*)$ https://$host$1 permanent;

    }

    error_page 497  https://$host$request_uri;

然后你就可以访问了


2.是网上流传的一种方法,悟空没有测试成功,我想应该是安装SSL方式不同的问题,所以把第二种也贴出来

给nginx配置SSL证书之后,https可以正常访问,http访问显示400错误,nginx的配置如下:

server {

            listen 80 default backlog=2048;

            listen 443;

            server_name wosign.com;

            root /var/www/html;

 

            ssl on;

            ssl_certificate /usr/local/Tengine/sslcrt/ wosign.com.crt;

            ssl_certificate_key /usr/local/Tengine/sslcrt/ wosign.com .key;

        }

http访问的时候,报错如下:

400 Bad Request

The plain HTTP requset was sent to HTTPS port. Sorry for the inconvenience.

Please report this message and include the following information to us.

Thank you very much!

 

说是http的请求被发送到https的端口上去了,所以才会出现这样的问题。



server {

            listen 80 default backlog=2048;

            listen 443 ssl;

            server_name wosign.com;

            root /var/www/html;

 

            ssl_certificate /usr/local/Tengine/sslcrt/ wosign.com.crt;

            ssl_certificate_key /usr/local/Tengine/sslcrt/ wosign.com .Key;

        }

把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用,完美解决。


好了希望分享了这两个办法,能够解决大家的问题。


版权声明:本文来源于互联网,如有侵权,请联系下方邮箱,一个工作日删除!