On Thu, Sep 17, 2015 at 11:38 PM, Zhou, Yuan <yuan.zhou@xxxxxxxxx> wrote: > Hi Yehuda, > > I was trying to do some tests on nginx over rgw and ran into some issue on the PUT side: > > $ swift upload con ceph_fuse.cc > Object PUT failed: http://localhost/swift/v1/con/ceph_fuse.cc 411 Length Required MissingContentLength > > However the GET/HEAD/POST requests are all working. From the history mail in ceph-user nginx should be working well. There's no such issue if switch to civetweb frontend. Is there anything changed in fcgi frontend? I'm testing on the master branch. > > here's the request log and the CONTENT_LENGTH is there actually. > > http://paste2.org/YDJFYIcp > > What version are you running? Note that you're getting an HTTP_CONTENT_LENGTH header instead of CONTENT_LENGTH header. There should be some support for it, but on the other hand there now, but maybe you can get nginx to send the appropriate header? Yehuda > > rgw part of ceph.conf > .... > rgw frontends = fastcgi > rgw dns name = localhost > rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock > rgw print continue = false > ... > > > Nginx site.conf: > > server { > listen 80; > > client_max_body_size 10g; > > access_log /dev/stdout; > error_log /dev/stderr; > > location / { > fastcgi_pass_header Authorization; > fastcgi_pass_request_headers on; > > if ($request_method = PUT) { > rewrite ^ /PUT$request_uri; > } > > include fastcgi_params; > > fastcgi_pass unix:/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock; > } > > location /PUT/ { > internal; > > fastcgi_pass_header Authorization; > fastcgi_pass_request_headers on; > > include fastcgi_params; > fastcgi_param CONTENT_LENGTH $content_length; > fastcgi_param HTTP_CONTENT_LENGTH $content_length; > > fastcgi_pass unix:/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock; > } > } > > > > Sincerely, Yuan > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html