nginx配置https301跳轉


app本地請求是http端口,后來升級https強制301跳轉,設置如下:

配置nginx.conf

server {
listen 80;
server name www.XXX.com;
rewrite ^/(.*)$   https://www.XXX.com/$1 permanent;
}

 

 

問題描述及原因
強制把http請求跳轉到https,結果發現App有部分的功能不能使用,因為App一共設置了4種請求方式,分別是GET,POST,DELETE和OPTIONS方式,設置301跳轉后所有的請求方法都變成了GET方式,導致一些功能無法正常使用.
http請求方式
問題解決
解決思路也很簡單,所有GET請求直接301跳轉不用管,非GET請求的用proxy_pass來轉發,將參數傳遞給服務,nginx配置如下.

server {
        listen 80;
        server_name  www.XXX.com;
        location / {
			if ($request_method ~ ^(POST|DELETE|OPTIONS)$) {
				proxy_pass https://www.XXX.com;
				break ;
			}
			rewrite ^/(.*)$   https://www.XXX.com/$1 permanent;
		}
 
	}

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM