I've Apache and hgwebdir.cgi running fine via HTTPS (having a self-signed certificate), I'm able to see the databases using a browser and clone it in your area. I'm not sure if it'd work, but I am spinning the Web addresses to ensure they are more attractive:

$ 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]

However, after i attempt to run hg push to transmit the alterations back, I recieve this:

$ hg push
pushing to https://<repository>
searching for changes
http authorization required
realm: Mercurial
user: virtualwolf
remote: ssl required

Apache is placed to redirect all demands which are on HTTP to HTTPS. The remote server is running CentOS, with Apache 2.2.3 and Mercurial 1.3.1 (both installed via yum).

I have done a lot of looking for this issue, the nearest I have arrived at a solution is this but it is mentioning to NGINX not Apache.


Therefore it works out the issue was just like referred to here. It had not been anything directly related to Mercurial, but was oddness on Apache's finish.

I needed to copy the SSLEngine On and connected SSLProtocol, SSLCipherSuite, SSLCertificateFile, and SSLCertificateKeyFile directives from the separate "Enable SSL" Apache configuration file to my Mercurial virtual host file, despite the fact that anything else was working quite happily via HTTPS.