Rootop 服务器运维与web架构

nginx http重定向到https,post数据丢失。

nginx配置http跳转https

if ($scheme = http) {
	return 301 https://$host$request_uri;
}

如果状态码返回301或者302,当post数据到http协议时,重定向后会出现请求方法变为 get,post数据丢失。

解决这个问题就要换返回的状态码。

if ($scheme = http) {
	return 307 https://$host$request_uri;
}

307、308 都可以保持post数据的重定向,包括请求方法也不会变化。
307是临时,308是永久

所以当往一个http地址发送post请求,服务器重定向到https,要配置为307或者308状态码。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4766.html

作者:Venus

服务器运维与性能优化

评论已关闭。