分享

Nginx的http和https(ssl)共存 | ㄨ销声匿迹、Linux

 浸心阁 2016-03-17

因为公司项目有需要用到https的链接,就去弄了个证书,配置上之后,https可以正常访问,但是之前的http的都是显示400错误,nginx的配置如下:

server {
            listen 80 default backlog=2048;
            listen 443;
            server_name ;
            root /var/www/html;

            ssl on;
            ssl_certificate /usr/local/Tengine/sslcrt/.crt;
            ssl_certificate_key /usr/local/Tengine/sslcrt/.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的端口上去了,所以才会出现这样的问题。那这样不是很坑了,,,我只是一部分需要https,但是这样搞的话,http的链接都不能用了,后来经查询资料调整配置文件如下:

server {
            listen 80 default backlog=2048;
            listen 443 ssl;
            server_name ;
            root /var/www/html;

            ssl_certificate /usr/local/Tengine/sslcrt/.crt;
            ssl_certificate_key /usr/local/Tengine/sslcrt/.key;
        }

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

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多