Nginx proxying WebDAV = no love

Dave Cheney dave at cheney.net
Thu Jul 9 12:30:29 MSD 2009


Get out ngrep and make sure that pywebdav is honoring the Connection:  
close request proxied via nginx. I have found that nginx waits for the  
socket to close before forwarding the request. This is correct  
behaviour for a HTTP/1.0 proxy, but most servers are used to HTTP/1.1  
clients who are less correct in their handling of HTTP/1.0.

Cheers

Dave

On 09/07/2009, at 7:14 AM, Cliff Wells wrote:

> I'm experimenting with WebDAV using pywebdav:
>
> http://code.google.com/p/pywebdav/
>
> It appears to work quite well if I connect to it
> directly (using either Nautilus and Cadaver as client).
>
> However, when I attempt to proxy to it via Nginx,
> I get messages that it's not a WebDAV-enabled share.
>
> Here's my nginx.conf:
>
> http {
>    include       mime.types;
>    default_type  application/octet-stream;
>
>    server {
>        listen       80;
>        server_name  _;
>
>        location / {
>            proxy_pass_header Server;
>            proxy_set_header  Host $http_host;
>            proxy_set_header  X-Forwarded-For $remote_addr;
>            proxy_pass        http://127.0.0.1:8008;
>        }
>    }
> }
>
>
> Cadaver reports the following (nautilus message isn't too  
> informative):
>
> $ cadaver http://localhost/
> Could not access / (not WebDAV-enabled?):
> Unknown transfer-coding in response
> Connection to `localhost' closed.
> dav:!>
>
>
> I can see the request reaches pywebdav:
>
> localhost - - [08/Jul/2009 14:10:40] "OPTIONS / HTTP/1.0" 200 -
> localhost - - [08/Jul/2009 14:10:40] "PROPFIND / HTTP/1.0" 207 -
>
>
> Nginx access log shows:
>
> 127.0.0.1 - - [08/Jul/2009:14:11:20 -0700] "OPTIONS / HTTP/1.1" 200  
> 0 "-" "cadaver/0.23.2 neon/0.28.2"
> 127.0.0.1 - - [08/Jul/2009:14:11:20 -0700] "PROPFIND / HTTP/1.1" 207  
> 593 "-" "cadaver/0.23.2 neon/0.28.2"
>
>
> Nginx error log shows nothing.
>
>
> Regards,
> Cliff
>
> -- 
> http://www.google.com/search?q=vonage+sucks
>
>






More information about the nginx mailing list