Mercurial: "remote: ssl required" even when pushing to HTTPS repository

Add this lines to your central repository where you want to push

[web]
push_ssl=False
allow_push=*

Needless to say, this is rather unsafe, but if you’re on a nice protected LAN at work and there’s a good firewall and you trust everybody on your LAN, this is reasonably OK.


You can resolve this problem by running hg server like this (no push ssl):

hg serve --config web.push_ssl=No --config "web.allow_push=*"


So it turns out the problem was the same as described here. It wasn't anything directly to do with Mercurial, but was oddness on Apache's end.

I had to copy the SSLEngine On and associated SSLProtocol, SSLCipherSuite, SSLCertificateFile, and SSLCertificateKeyFile directives from my separate "Enable SSL" Apache configuration file to my Mercurial virtual host file, even though everything else was working quite happily via HTTPS.