Nach der Installation von Gogs läuft dieses standardmäßig über unverschlüsseltes HTTP. Um dies zu ändern muss die app.ini welche sich im Verzeichnis gogs/custom/conf/ befindet bearbeitet werden:
nano app.ini
In der Sektion Server welche für gewöhnlich so aussieht:
[server] DOMAIN = example.org HTTP_PORT = 3000 ROOT_URL = http://example.org:300/ DISABLE_SSH = false SSH_PORT = 22 OFFLINE_MODE = false
müssen einige Änderungen vorgenommen werden. Die Schlüssel PROTOCOL, CERT_FILE und KEY_FILE werden hinzugefügt und die ROOT_URL angepasst. Danach sollte die Server-Sektion in etwa so aussehen:
[server] DOMAIN = example.org HTTP_PORT = 3000 PROTOCOL = https ROOT_URL = https://example.org:300/ CERT_FILE = custom/https/cert.pem KEY_FILE = custom/https/key.pem DISABLE_SSH = false SSH_PORT = 22 OFFLINE_MODE = false
Nachdem die Konfiguration gespeichert wurde muss das passende Zertifikat erzeugt werden:
cd custom mkdir https cd https ./gogs cert -ca=true -duration=8760h0m0s -host=example.org
Damit ist Gogs nach einem Neustart des Service per HTTPS und damit verschlüsselt erreichbar.