如何在nginx中通过代理将httppost请求重定向到httppost请求

如何在nginx中通过代理将httppost请求重定向到httppost请求,nginx,https,proxy,Nginx,Https,Proxy,我想将http post请求重定向到https post请求。是否有办法通过nginx中的代理配置完成此操作。 我在网上找到了一个博客。我试着这样做: upstream backends { server 192.168.100.100:443; } server { listen 80; server_name www.example.com; location / { proxy_pass https://ba

我想将http post请求重定向到https post请求。是否有办法通过nginx中的代理配置完成此操作。 我在网上找到了一个博客。我试着这样做:

upstream backends {
   server 192.168.100.100:443;
}

server {
   listen              80;
   server_name         www.example.com;
   location / {
       proxy_pass https://backends; 
   }
}
但当我像这样卷曲它时,它返回了一个502坏网关结果:
curl-X POST'--data binary'name=super'

您需要使用308重定向,而不是301重定向(前者保留方法,后者将POST变异为get):

这很有效。一个警告——您必须升级到Nginx+1.13.x。您将看到,对308的支持是在2017年4月添加的。
server {
  listen 80;
  server_name www.example.com;
  return 308 https://$host$request_uri;
}