[Zope] nginx proxy zope/webdav, can't see files
mictlan tecutli
mictlan.tecutli.0 at gmail.com
Thu Dec 11 15:05:04 EST 2008
hi,
i´m trying to connect davfs to zope/webdav by way of nginx. this works fine (once davfs is configured correctly) conecting directly (that is w/out nginx in the middle). with nginx in the middle i can not see the files. that is "ls /davfs/mout/point" shows an empty folder. i can upload to that folder, if i mount directly to a folder where my user has permissions. but can´t see the files there. the folder is not empty. again, i can list the files using davfs without nginx as.
on the nginx list i was told that the probem was most likely due to path formation. here is the client request, responces from nginx and zope and the configuration of nginx vhost. hopefully someone on this list can shed some light on the issue.
> Probably, the problem is that in nginx case you use "PROPFIND /dav/nomndaa1/"
> while server responses to "PROPFIND /nomndaa1/" or "PROPFIND /plune/nomndaa1/"
> (according previously posted configuration). This may confuse the client,
> if it expect to see response to "PROPFIND /dav/nomndaa1/": response may
> have "/nomndaa1/" or "/plune/nomndaa1/" pathes.
so if i understand i should be able to fix this with a proxy_redirect like:
proxy_redirect http://10.10.10.30:1980/nomndaa1/ http://$host:$server_port/dav/
this _is not_ working for me. the following is the client request, nginx and zope responces, as well as a modified vhost for nginx.
client:
Sending request headers: PROPFIND /dav/ HTTP/1.1 Host:
lapalabradelagua.org User-Agent: davfs2/1.3.3 neon/0.28.2 Connection:
TE TE: trailers Depth: 1 Content-Length: 314 Content-Type:
application/xml
nginx log:
"PROPFIND /dav/ HTTP/1.1" 207 11500 "-" "davfs2/1.3.3 neon/0.28.2"
zope log:
"PROPFIND /nomndaa1/ HTTP/1.0" 207 11784 "" "davfs2/1.3.3 neon/0.28.2"
complete nginx vhost:
server {
listen 10.10.10.20:80;
server_name .myhost.org;
if ($request_uri ~* ^/login_(.*)) {
rewrite ^/login_(.*) https://$host/login_$1 permanent;
break;
}
location /dav/ {
proxy_pass http://10.10.10.30:1980/nomndaa1/;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect http://10.10.10.30:1980/nomndaa1/ http://$host:$server_port/dav/;
}
location / {
proxy_pass http://10.10.10.30:6081/VirtualHostBase/http/myhost.org:80/nomndaa1/VirtualHostRoot/;
proxy_set_header Host $http_host;
}
saludo,
kev
More information about the Zope
mailing list