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

Posted lvjijun

tags:

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

配置如下: 

server  
    listen       80; 
    server_name  localhost; 
     
     return 301 https://localhost$request_uri; 
     charset UTF-8; 


    location /  
      root   html;                  # 这个是指定一个项目所在目录 
      index  index.html index.htm;  # 这个是指定首页的文件名 
     
 


server  
    listen       80 default backlog=2048; 
    listen       443 ssl; 
    server_name  localhost; 

    ssl_certificate      buduhuisi.crt;  # 这个是证书的crt文件所在目录 
    ssl_certificate_key  buduhuisi.key;  # 这个是证书key文件所在目录 

    ssl_session_cache    shared:SSL:1m; 
    ssl_session_timeout  5m; 

    ssl_ciphers  HIGH:!aNULL:!MD5; 
    ssl_prefer_server_ciphers  on; 

    location /esgcc-oms  
                        proxy_pass         http://localhost:8080; 
                    proxy_redirect http:// https://; 
                        add_header         Cache-Control    no-store; 
                        proxy_set_header   Host             $host; 
                        proxy_set_header   X-Real-IP        $remote_addr; 
                        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 

              

    location /  
      root   html;                  # 这个是指定一个项目所在目录 
      index  index.html index.htm;  # 这个是指定首页的文件名 
     
 



proxy_redirect http:// https:// 这个配置是解决重定向后https变成了http 的问题。 

应用中配置: 
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
        <property name="prefix" value="/pages/" /> 
        <property name="suffix" value=".jsp" /> 
        <property name="order" value="1" /> 
        <property name="redirectHttp10Compatible" value="false" />   <!--重定向解决https 变成了http 的问题--> 
    </bean> 



可以解决这个问题: 
400 Bad Request: The plain HTTP request was sent to HTTPS port 

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

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

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

使用 Nginx 将 HTTP 重定向到 HTTPS

如何在 NGINX 上将 HTTPS 重定向到 HTTP?

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

nginx的多域httphttps同时访问配置及http重定向https