Nginx http和https 共存

    nginx https 配置,添加证书启动https

server {

    listen 80 default_server;
    listen 443;
    server_name  _;
    ssl on;
    ssl_certificate conf.d/server.crt;
    ssl_certificate_key conf.d/server.key;
    root         /usr/share/nginx/html;

}

nginx 配置https,配置证书以后,https可以正常访问,但是访问http时提示"The plain HTTP request was sent to HTTPS port",由于请求转发到了https导致

解决办法:

  去掉ssl on,在listen 443后面增加ssl,重新启动,此时http和https都可以访问到对应资源

server {

    listen 80 default_server;
    listen 443 ssl;
    server_name  _;
    ssl on;
    ssl_certificate conf.d/server.crt;
    ssl_certificate_key conf.d/server.key;
    root         /usr/share/nginx/html;

}
原文地址:https://www.cnblogs.com/mengyu/p/6724225.html