Hi everyone,
Hopefully someone can advise whether what I'm trying to achieve is possible.
The background is that I have a Windows 2008 R2/IIS 7.5 web server (let's call it winserver.company.local) behind an Apache reverse proxy. The IIS server publishes a virtual directoryhttps://winserver.mycompany.local/DAV using WebDAV. This IIS server sits behind an Apache Reverse proxy, which makes the Webdav resource available ashttps://davserver.mycompany.com/DAV .
Users map the Webdav share https://davserver.mycompany.com/DAV using windows explorer on their Windows 7 workstations.
This setup works absolutely fine with a Windows 2003/IIS 6 web server. Users can manipulate files and folders on the DAV "share" more or less the same as a normal CIFS share.
Now I am having problems getting this setup to work with Windows 2008 R2/IIS 7.5. With this setup I cannot rename files or folders or move them to different locations on the DAV share. I get the error "Cannot read from source file or disk". Copy, create and delete operations works OK though.
I've had a look at the IIS logs and the problem appears that the MOVE Webdav directive is apparently implemented differently under IIS 7.5 .
If say I attempt to rename oldfolder to newfolder the iis logs show the following for the Webdav operation
cs-method: MOVE
cs-uri-stem: /DAV/oldfolder
cs-uri-query: https://davserver.mycompany.com/DAV/newfolder
This query string causes a problem as it contains the hostname of the reverse proxy server rather than the windows web server. Under Windows 2003/IIS 6 such a query string is not present at all in Webdav MOVE operations.
So far I have drawn in blank in finding a way to get around this by way of IIS and/or Webdav configuration settings, so an alternative would be to rewrite the query string in Webdav MOVE operations so that it begins with https://winserver.mycompany.local rather than https://davserver.mycompany.com.
I realise this can be done at the RPS or IIS server level. Can anyone advise whether this is possible using URL rewrite before I approach the Unix folk that manage the RPS?
Apologies for the length of this!