Proxys for WebDAV


Proxys for WebDAV

I’d like to set up a reverse proxy for my webdav server. The main reason for this is so that I can better control which files are being uploaded to the webdav server. I cannot do this at the webdav server itself, it’s a service by alfresco and I have now idea whether or not it’s possible to configure the webdav service at all.
In particular I’d like to prevent my mac to do the AppleDouble thingy on the webdav server, i.e. stop my mac from uploading ._* files for every real file I upload. There is as far as I know no way to stop my mac from attempting this.
Does the proxy server need to know more than merely relaying http requests back and forth, does it also need to know something about webdav in order for this to work?
Which proxy servers could your recommend for this?


Solution 1:

Unless I’m missing something, a reverse proxy will have to rewrite header fields (such as Destination: and If:) to work properly and potentially even request/response bodies, and thus is unlikely to work well.

A “proper” proxy shouldn’t get in the way, though.

Solution 2:

You could do this with SabreDAV. It has a TemporaryFileFilter Plugin that does exactly what you need. Not only does it intercept these resource forks, it also places them in a temporary ‘quarantine’. This is important, because OS/X will check if the file was successfully written and fail horribly otherwise.

There will be two things you still need to do to make this work though:

  1. Automatic cleanup of these files (a script suitable for cron is also supplied).
  2. The actual proxy bit. This means you’ll have to implement a Collection and a File class that perform the HTTP requests.

Disclaimer: I authored SabreDAV