I had a previous setup instance of Gitorious running in http (port 80), everything was working just fine. one day I decided to enable https (443) and permanently disable http (80). The certificates were created, apache was configured accordingly and everything was working fine... or so I thought...
The first sign of something not working was after updating some of my code and attempting a push to the git repo. The message I got back read:
== Gitorious: ==========================================================
Temporary error. Please try again shortly
========================================================================
fatal: The remote end hung up unexpectedly
I prepared some funky regular expressions and headed over to Google, trying to find some answers. What I found is that my case was very particular and that due to server settings, network and some NATting + dynamic DNS the issue pointed to be a resolution hostname and port.
I updated the port and name configuration in the gitorious.yml file to match my latest setup (https), however, I still kept getting the same error message while attempting a git push.
Here the fixes that I had to integrate to my existing standard setup:
- Needed to update the port number back to 80
- Enabled http only for localhost
- Configured apache to bind port 80 on 127.0.0.1 interface
- Updated gitorious_client_host to localhost
After this change I restarted apache and voila! the problem while attempting to update the repository was gone!
My code is now happily resting on the master git repository.