我有 2 个服务器。一个在 Web 上的反向代理,一个在服务于 WebDAV 的私有(private)链接上。
展位服务器是 apache httpd v2。
在我的代理上:
ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /repo/ http : //share.local/repo/ ProxyPassReverse /repo/ http : //share.local/repo/
在我的 dav 服务器上:
<Location /repo/> DAV on Order allow,deny allow from all </Location>
反向代理通过https
访问,私有(private)服务器通过http
访问。
问题就在这里!
只读命令工作正常。但是当我想移动一些东西时,我得到了 502 Bad gateway
。
原因是反向代理没有重写扩展 dav 请求中的 url。
源 URL 在 header 内并正确转换为 http://share.local/file1
。
目标 URL 在一些我不理解的 xml 片段中并保持 https://example.com/file1
:(
有没有标准的方法让apache正确的转换请求?
感谢您的努力。
最佳答案
嗯,找到答案了。总是一样的:)
我在“私有(private)服务器”配置文件中添加了下一行:
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so RequestHeader edit Destination ^https http early
(例如配置位置 '/etc/httpd/conf.d/DefaultRequestHeader.conf')
它奏效了。我不知道这是否有缺点。我看看。
关于http - 反向代理背后的 WebDAV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1110710/