首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows服务器2008/IIS 7上的Mercurial 1.9.2 HTTPS给了我Errno 10054

windows服务器2008/IIS 7上的Mercurial 1.9.2 HTTPS给了我Errno 10054
EN

Stack Overflow用户
提问于 2011-10-04 16:10:50
回答 5查看 1.2K关注 0票数 2

我们是一家小公司(这是一家微软商店),我们目前使用的是subversion,安装了VisualSVN (很容易安装),我目前正在评估Mercurial,因为svn中的分支噩梦。

因此,首先,我使用最新的mercurial源代码1.9.2和python2.7跟踪http://www.firegarden.com/software/hosting-mercurial-repo-iis7-windows-server-2008r2-x64-python-isapi-cgi,得到了以下错误

代码语言:javascript
复制
Failed to import callback module 'hgwebdir_wsgi'
The specified module could not be found.

因此,我划伤了,然后我遵循了这个http://www.jeremyskinner.co.uk/mercurial-on-iis7/,它一直工作到启用SSL的步骤,这就是问题所在。我甚至使用OpenSSL howto.html设置ssl证书,但仍然没有。这就是我所犯的错误

代码语言:javascript
复制
URLError: [Errno 10054] An existing connection was forcibly closed by the remote host
[command returned code 255...]

服务器端我有这个hgweb.config

代码语言:javascript
复制
[collections]
C:\repository\hg = C:/repository/hg

[web]
#push_ssl = false
allow_push = *
baseurl = /hg
cacerts =

web.config

代码语言:javascript
复制
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
<system.webServer>
    <handlers>
        <add name="Python" path="*.cgi" verb="*" modules="CgiModule" scriptProcessor="C:\Python27\python.exe -u &quot;%s&quot;" resourceType="Unspecified" />
    </handlers>
    <rewrite>
        <rules>
            <rule name="rewrite to hgweb" patternSyntax="Wildcard">
                <match url="*" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                </conditions>
                <action type="Rewrite" url="hgweb.cgi/{R:1}" />
            </rule>
        </rules>
    </rewrite>
    <security>
         <requestFiltering>
           <requestLimits maxAllowedContentLength ="2147482624" />
        </requestFiltering>
    </security>
</system.webServer>
<system.web>
    <httpRuntime executionTimeout="540000" maxRequestLength="2097151"/>
</system.web>

客户端hgrc

代码语言:javascript
复制
[paths]
default = https://webtest/hg/test/

[hostfingerprints]
webtest = 50:de:a4:d9:72:59:68:fd:91 ...

编辑我试着在我的macbook上安装MacHg进行测试。我使用http://machghelp.jasonfharris.com/kb/connections/how-do-i-add-a-server-certificate-or-fingerprint-for-https作为演练,它可以工作!!因此,这就消除了服务器(i.e.server可以从http和https中推拉),所以现在我确信有问题的是我的windows/TortoiseHg。(但是按照tortoiseHg的这些步骤,我什么也没有得到:( )

EDIT2还有一个发现..。我甚至不能使用https克隆,它只适用于http。我试图使用https克隆一个codeplex项目,这很有效!...This真的令人沮丧。

我是不是遗漏了什么?任何帮助都将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-12-22 18:55:28

当我使用旧版本,即Mercurial 1.8.4时,它起了作用。所以我停止了调查

票数 0
EN

Stack Overflow用户

发布于 2011-10-14 19:33:00

使用Mercurial设置证书的情况在https://www.mercurial-scm.org/wiki/CACertificates中描述

在这个页面上有这样的注释:“使用openssl而不是IIS生成证书”--显然,Mercurial使用的SSL库中没有验证IIS7自签名证书。

如果您安装了TortoiseHg,您的Mercurial证书将从hgrc.d/acert.pm读取。这意味着您必须在这里添加您的自签名证书。

否则,获得安装疑难解答的最有效方法是通过汞IRC

票数 1
EN

Stack Overflow用户

发布于 2013-06-21 17:57:25

确保进入IIS SSL设置并检查客户端证书上的“忽略”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7650850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档