我在使用 nginx proxy_pass 和 PUT 时遇到问题,但没有 Content-Length 标头返回 411 错误。
我跑来测试这个:
# curl -XPUT http://localhost:8080/
<html>
<head><title>411 Length Required</title></head>
<body bgcolor="white">
<center><h1>411 Length Required</h1></center>
<hr><center>nginx/1.1.19</center>
</body>
</html>
# touch temp
# curl -X PUT http://localhost:8080/ -T temp
{"response": "ok"}
相关配置:
# Proxy to Backend Server
server {
listen localhost:8080;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend_server;
}
}
我发现这个帖子似乎是同样的问题:
http://forum.nginx.org/read.php?2,72279,72279#msg-72279
有没有办法让 nginx 在没有 Content-Length 标头的情况下代理 PUT 请求?
新版本的 nginx 不会受到此错误/限制的影响吗?