I've just finished converting from nginx/radosgw to tengine/radosgw, and it's fixed all the weird issues I was seeing (uploads failing, random clock skew errors, timeouts). The problem with nginx and radosgw is that nginx insists on buffering all the uploads to disk. This causes a significant performance hit, and prevents larger uploads from working. Supposedly, there is going to be an option in nginx to disable this, but it hasn't been released yet (nor do I see anything on the nginx devel list about it). tengine ( http://tengine.taobao.org/ ) is an nginx fork that implements unbuffered uploads to fastcgi. It's basically a drop in replacement for nginx. My configuration looks like this: server { listen 80; server_name *.rados.test rados.test; client_max_body_size 10g; # This is the important option that tengine has, but nginx does not fastcgi_request_buffering off; location / { fastcgi_pass_header Authorization; fastcgi_pass_request_headers on; if ($request_method = PUT ) { rewrite ^ /PUT$request_uri; } include fastcgi_params; fastcgi_pass unix:/path/to/ceph.radosgw.fastcgi.sock; } location /PUT/ { internal; fastcgi_pass_header Authorization; fastcgi_pass_request_headers on; include fastcgi_params; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_pass unix:/path/to/ceph.radosgw.fastcgi.sock; } } if anyone else is looking to run radosgw without having to run apache, I would recommend you look into tengine :)