proxy_pass of PUT with no Content_length header returns 411
Maxim Dounin
mdounin at mdounin.ru
Thu Mar 21 10:32:34 UTC 2013
Hello!
On Wed, Mar 20, 2013 at 06:09:26PM -0400, nickpalmer wrote:
> I am having trouble with proxy_pass and PUT without a Content-Length header
> returning a 411 error.
>
> # 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"}
> #
>
> Relevant configuration:
>
> # 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;
> }
> }
>
> I found this post which seems to be the same problem:
> http://forum.nginx.org/read.php?2,72279,72279#msg-72279
>
> Is there a way to get nginx to proxy PUT requests WITHOUT a Content-Length
> header?
> Does a newer version of nginx NOT suffer from this limitation?
PUT requests without a Content-Length header (either using chunked
transfer encoding, or without a request body at all) are allowed
in nginx 1.3.9+.
--
Maxim Dounin
http://nginx.org/en/donation.html
More information about the nginx
mailing list