Nginx代理ASP.Net 2.0POST,200OK,但是Content-Length为0,空白页?

nginx反向代理一套旧的.NET 2.0 Webform系统,正常IP:PORT能post提交,但是,代理之后提交是空白页。
同服务器另外一套4.0的又是正常的。太奇怪了。

具体的数据如下:
HTTP/1.1 200 OK
Content-Length: 0
Access-Control-Allow-Headers: X-Requested-With
Access-Control-Allow-Methods: GET,POST,OPTIONS
Access-Control-Allow-Origin: *
Cache-Control: private
Date: Thu, 03 Aug 2017 00:59:59 GMT
Keep-Alive: timeout=38
Server: nginx/1.10.2
X-Aspnet-Version: 2.0.50727
X-Powered-By: ASP.NET
X-Ua-Compatible: IE=edge;chrome=1;

baidu和google之后,相关内容很少,google的是2013年的帖子,有人说:request post的时候,content-length是0时normal的??

https://forum.nginx.org/read....

阅读 4.5k
2 个回答

我猜你是反向代理的时候需要传递session,根据session获取页面内容,你在反向代理那里加上传递session和real-ip的相关参数,具体教程百度一大把,我就不写了。

我发现几十岁的人了,还不会问问题。。。
location / {
proxy_pass http://localhost:8080;
proxy_redirect http://localhost:8080/ /;
proxy_read_timeout 60s;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

这样就可以了,主要是这个:
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题