Subversion 是程序员必不可少的工具。如果由于公司防火墙重新配置而导致 Subversion 突然被阻止,那就太麻烦了。事实上,这种情况在我两份不同的工作中已经发生过两次了。
Subversion 流量通过 http(端口 80)进行,但据我所知,它比较特殊,因为它使用了 PROPFIND http 请求类型,这不是普通网络流量的一部分。
为了证明 PROPFIND 确实被我们的防火墙阻止,我做了以下事情:
公司内部的 svn 命令运行良好。例如:
svn log http://svn.bigcat.unimaas.nl/pathvisio
- 公司外部的相同 svn 命令无限期挂起。我在三个不同的外部位置确认了这一点。(一位同事报告了一条提到 PROPFIND 的超时消息)
- 浏览此页面:http://svn.bigcat.unimaas.nl/pathvisio/从内到外都运行良好。
为了证明这不是一个颠覆性问题,你可以用 curl 获得同样的效果。以下命令从内部运行,但从外部无限期挂起:
curl http://svn.bigcat.unimaas.nl/pathvisio/ -H "Depth: 0" --request PROPFIND
普通的 GET 请求在内部和外部均可进行:
curl http://svn.bigcat.unimaas.nl/pathvisio/
在这两份工作中,当我向 ICTS 提出这个问题时,他们的回应都是这样的:“端口 80 已开放,我们无法重现”,他们只是忽略了我关于 http 请求类型的讨论。
我的问题是:
- 绝对肯定的是,我的方法是否足以证明问题出在阻止 PROPFIND 上?
- 防火墙通常会阻止 PROPFIND 吗?
- 您能否给我一些建议,告诉我如何用正确的语言/术语解释这个问题,以便 ICTS 能够做出响应?我从未管理过公司防火墙,所以我不知道该怎么做。
答案1
我认为您的方法足以表明防火墙似乎正在阻止PROPFIND
请求。是的,防火墙阻止很少(或不常用)的 HTTP 方法并不罕见。您实际上不需要使用任何特殊语言来向他们解释,优秀的防火墙管理员已经知道他已经阻止了这些较少使用的方法。
答案2
使用 Wireshark 等网络捕获软件查看使用 SVN 和使用 Web 浏览器时的流量,并比较两次捕获的结果。使用 Wireshark 上下文菜单中的“跟踪 TCP 流”查看 HTTP 对话。
答案3
- 防火墙通常会阻止 PROPFIND 吗?
我确信,没有。