如何通过nginx中的代理将http post请求重定向到https发布请求

时间:2014-10-22 11:17:27

标签: nginx https proxy

我想将http post请求重定向到https post request。有没有办法通过nginx中的代理配置来完成它。 我在http://nginx.com/blog/nginx-ssl/找到了一个博客。我试试这样:

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'http://www.example.com/a.json' - data-binary'name = super'

1 个答案:

答案 0 :(得分:1)

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

server {
  listen 80;
  server_name www.example.com;
  return 308 https://$host$request_uri;
}