linux - hgweb 服务器中止 : HTTP Error 404: Condition Intercepted

标签 linux http mercurial apache2 hgweb

我已经在 Linux 服务器中使用 hgweb.cgi cgi 脚本设置了一个 http 服务器。 我在服务器中放置了一个 Mercurial 存储库。我可以从 Windows 机器克隆存储库,没有任何问题。我可以在任何浏览器中查看服务器。我可以从本地主机克隆存储库:(服务器)

hg clone http:// localhost /hg/proj

工作完美。 但是当我尝试访问另一台 Linux 计算机上的服务器时,我收到此错误消息:

hg clone http://myhgserver/hg/proj

中止:HTTP 错误 404:条件被拦截

我在 apache2 Web 服务器上的 error_log 文件中找不到任何错误消息。

首先,我怀疑我在客户端使用的是旧版本的 hg (1.4)。 我的服务器端是hg 2.6.3。
然后我在我的主目录中安装了最新的mercurial(我没有系统目录的权限)

我使用“make local”命令在本地安装 Mercurial 软件包。

./hg --版本 Mercurial分布式SCM(版本3.0+4-75aaae8ad660+20140613)

克隆命令给出了同样的错误: 中止:HTTP 错误 404:条件被拦截

我花了差不多一整天的时间,现在已经半夜了,还是没有找到答案。

还有人遇到过这样的问题吗?

建明

最佳答案

经过一夜的 sleep ,我的问题得到了解决。 基本上,hg 程序缺少将主机名解析为 IP 地址的能力。 由于我的服务器和客户端计算机位于同一 LAN 上,因此不存在连接或防火墙问题。

我可以从客户端 PING 到服务器,没有任何问题。我可以运行主机命令: 主机 myhgserver 它将为您提供完整的 IP 地址和完全限定的域名。如果我使用 IP 地址而不是主机短名称,则 hg 工作正常。

我认为需要的是向 hg 客户端程序添加几行代码,以便它可以从别名找到服务器。

关于linux - hgweb 服务器中止 : HTTP Error 404: Condition Intercepted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24216348/

相关文章:

php - 删除文件目录会减慢整个网络服务器的速度

asp.net-mvc - 请求来自 iframe 吗?

python - 从 nginx 传递到 uwsgi 的客户端连接 ID

Mercurial (Hg) 和二进制文件

linux - 在 Linux 中获取字符之间的字符串

Linux Bash,删除以空格分隔的文件

linux - X86-64 将 float 和 int 作为参数传递

Ruby 连接到 REST 服务

mercurial - 强制 mq 仅在草稿上工作

mercurial - 我可以恢复变更集并保持后续变更集完整吗