上周末,我们的 IT 部门安装了更新的防火墙。因此,我们无法再从 BitBucket 上的存储库提取数据(也无法向其推送数据)。
尝试执行 Mercurial 操作(例如,拉取)会导致出现消息[Errno 10053] An established connection was aborted by the software in your host machine
。
显然,通信序列中出现了问题,但我对协议不够熟悉,无法识别问题所在。我怀疑 Mercurial 预计会使用现在已被阻止的端口。应该打开哪些端口才能让 Mercurial 正确与 BitBucket.org 上托管的存储库配合使用?
答案1
根据协议的不同,有两个端口正在使用中:
HTTPS:端口 443。它用于
hg clone
、hg pull
和hg push
URLhttps://bitbucket.org/<user>/<repo>/
。它还可用于使用 Web 浏览器对 Bitbucket 进行常规浏览。换句话说,如果您可以使用浏览器访问 Bitbucket,那么 Mercurial 也应该可以使用。
SSH:端口 22。它用于
hg clone
、hg pull
和hg push
URL 。ssh://[email protected]/<user>/<repo>/
Mercurial 没有做任何特殊的事情 —— 它只是在这些端口上发送正常流量。
您的 IT 部门应该能够判断他们是否阻止了防火墙内部的连接尝试(通过查看他们的日志)。您还应该查看您的代理设置如果问题仍然存在。