【问题标题】:WebDAV behind a reverse proxy反向代理后面的 WebDAV
【发布时间】:2010-11-09 18:57:09
【问题描述】:

我有 2 台服务器。一个在网络上的反向代理和一个在服务 WebDAV 的私有链接上。

Booth 服务器是 apache httpd v2。

在我拥有的代理上:

代理请求关闭 订单拒绝,允许 允许所有人 代理> ProxyPass /repo/ http : //share.local/repo/ ProxyPassReverse /repo/ http : //share.local/repo/

在我拥有的 dav 服务器上:

DAV 开启 命令允许,拒绝 允许所有人 位置>

反向代理通过https访问,私服通过http访问。 这就是问题所在!

只读命令可以正常工作。但是当我想移动一些东西时,我会得到502 Bad gateway。 原因是反向代理没有重写扩展 dav 请求中的 url。

源 URL 位于标头内,并正确转换为 http://share.local/file1。 目标 URL 在一些我不理解的 xml 片段中,并且保持在 https://example.com/file1 :(

有没有标准的方法让 apache 正确地转换请求?

感谢您的努力。

【问题讨论】:

  • 堆栈溢出确实说我只能发布一个网址 :( 所以我添加了空格。在我原来的配置文件中,网址当然是正确的。

标签: http apache2 reverse-proxy webdav mod-proxy


【解决方案1】:

嗯,找到答案了。总是一样的:)

我在“私人服务器”配置文件中添加了下一行:

LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so RequestHeader 编辑 Destination ^https http 早

(例如配置位置'/etc/httpd/conf.d/DefaultRequestHeader.conf')

它奏效了。我不知道这是否有缺点。我会看到的。

【讨论】:

    【解决方案2】:

    正如您已经注意到的,目标 URL 不应该是 XML,而是在“Destination”标头中。也许您正在查看错误响应...

    一般来说,当客户端和服务器实现 WebDAV 级别 3(如 RFC4918 中定义)时,这个问题就会消失,这允许 Destination 标头只是一个相对路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-08
      • 2019-11-04
      • 2019-01-14
      • 2015-07-06
      • 2014-07-22
      • 2020-11-11
      • 2023-03-25
      • 2017-12-02
      相关资源
      最近更新 更多