Mercurial:即使推送到HTTPS存储库,也要“远程:需要ssl”

| 我的Apache和hgwebdir.cgi通过HTTPS(带有自签名证书)运行良好,我可以通过浏览器查看存储库并将其克隆到本地。我不知道它是否会起作用,但是我正在重写这些URL,以使其更漂亮:
$ cat .htaccess
Options +ExecCGI
RewriteEngine On
RewriteBase /public
RewriteRule ^$ hgwebdir.cgi  [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) hgwebdir.cgi/$1  [QSA,L]
但是,当我尝试运行hg push将更改发送回时,我得到了:
$ hg push
pushing to https://<repository>
searching for changes
http authorization required
realm: Mercurial
user: virtualwolf
password: 
remote: ssl required
Apache设置为将HTTP上的所有请求重定向到HTTPS。远程服务器正在运行CentOS,并带有Apache 2.2.3和Mercurial 1.3.1(均通过ѭ2ent安装)。 我已经在这个问题上进行了大量搜索,最接近的答案是这个,但这是指NGINX而不是Apache。 谢谢!     
已邀请:
我已经通过运行hg服务器解决了相同的问题:   hg serve --config web.push_ssl =否--config \“ web.allow_push = * \”     
您可以将这些行插入您想推送到的cetrale存储库
[web]
push_ssl=False
allow_push=*
不用说,这是相当不安全的,但是如果您在工作良好的受保护局域网中,并且有一个良好的防火墙,并且您信任局域网中的每个人,则可以这样做。     
因此事实证明,问题与此处描述的相同。与Mercurial无关,但与Apache无关。 我不得不将
SSLEngine On
以及关联的
SSLProtocol
SSLCipherSuite
SSLCertificateFile
SSLCertificateKeyFile
指令从我单独的\“ Enable SSL \” Apache配置文件复制到Mercurial虚拟主机文件中,即使其他所有事情都可以通过HTTPS很好地工作了。     

要回复问题请先登录注册