nginx配置https,重定向后https变成了http

Posted 客Ren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置https,重定向后https变成了http相关的知识,希望对你有一定的参考价值。

nginx配置https如下

nginx 后面应用是对应的tomcat应用

server {
    listen       80;
    server_name  xxxx.com;
    rewrite ^(.*) https://$server_name$1 permanent;
    }


server {
    listen    443 ssl;
    server_name  xxxx.com;
    ssl_certificate /app/nginx/1_xxxx.com_bundle.crt;
    ssl_certificate_key /app/nginx/2_xxxx.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location /wxqyhweb {
        index index.html index.jsp;
        proxy_pass   http://10.1.0.3:8080/wxqyhweb;
        server_name_in_redirect off;
    ##    proxy_redirect   default ;
        proxy_redirect   http:// https://;
        proxy_set_header           Host $host:$server_port;
        proxy_set_header           X-Real-IP $remote_addr;
        proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size       888m;
        client_body_buffer_size    128k;
        proxy_connect_timeout      100;
        proxy_send_timeout         100;
        proxy_read_timeout         100;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }

nginx -t 测试配置文件没有问题的就可以启动了 

问题是:

 

 

把proxy_redirect default ;改成 proxy_redirect http:// https://;
这个配置是解决重定向后https变成了http 的问题。 
400 Bad Request: The plain HTTP request was sent to HTTPS port 
在重新测试一下就可以了

 

以上是关于nginx配置https,重定向后https变成了http的主要内容,如果未能解决你的问题,请参考以下文章

nginx 配置https 并解决重定向后https协议变成了http的问题

Nginx SSL 结合Tomcat 重定向URL变成HTTP的问题

https设置后Nginx重定向到默认欢迎页面

Nginx配置Https重定向 Chrome跳转到%2a.xxx.com的问题

使用 Nginx 将 HTTP 重定向到 HTTPS

nginx+tomcat遇到的https重定向到http问题