如何使用ssl / security设置Mercurial

时间:2010-03-31 19:41:10

标签: security ssl mercurial

我一直在关注如何使用mercurial的hginit.com教程。除了使用push_ssl=False之外,一切都很顺利。这对我的情况不起作用,因为我想要推送(如果可能的话,拉动)是安全的。我能找到的所有教程也使用push_ssl=False。谁能给我指点如何为Mercurial设置ssl / security?感谢。

2 个答案:

答案 0 :(得分:6)

请记住Mercurial doesn't validate SSL certificates。通过SSH提供mercurial更安全(假设您的repo服务器上有ssh,这很容易设置)。

如果您想使用https,我相信官方guide应该详细介绍一些步骤。

答案 1 :(得分:6)

只有几个步骤:

  1. 您设置了支持SSL的网络服务器。我们假设你知道如何做到这一点,或者你可以让别人为你做这件事。
  2. 您使网络服务器运行hgweb.cgi脚本。这是一个标准的CGI脚本。如果您愿意,还有一个WSGI版本 - 两个脚本都附带Mercurial源代码。
  3. 您配置网络服务器以对尝试POST到您的服务器的用户进行身份验证。像pull和clone这样的只读操作仅使用GET请求,但是像push这样的写操作使用POST。同样,我们假设您知道如何执行此操作(例如,使用Apache的.htaccess文件)或者您可以让其他人执行此操作。
  4. 您将push_ssl保留为其默认值(True)并配置allow_push以包含应允许推送的用户名。
  5. 请参阅我们维基上的the web section of hgrcpublishing repositories页面。