proxy_pass of PUT with no Content_length header returns 411

nickpalmer nginx-forum at
Wed Mar 20 22:09:26 UTC 2013

I am having trouble with proxy_pass and PUT without a Content-Length header
returning a 411 error.

# curl -XPUT http://localhost:8080/
<head><title>411 Length Required</title></head>
<body bgcolor="white">
<center><h1>411 Length Required</h1></center>
# 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:,72279,72279#msg-72279

Is there a way to get nginx to proxy PUT requests WITHOUT a Content-Length
Does a newer version of nginx NOT suffer from this limitation?

~ Nick

Posted at Nginx Forum:,237607,237607#msg-237607

More information about the nginx mailing list