Make sure the
EXTERNAL_URL in your custom/conf/app.ini matches the actual URL users will access. When using a reverse proxy for TLS termination, keep PROTOCOL = http in Gogs and set EXTERNAL_URL to https://. The reverse proxy handles the encryption, and Gogs communicates with it over plain HTTP on the local network.Caddy 2
- Standard
- Subpath
Add the following server block to your Set the matching external URL in
Caddyfile and reload:custom/conf/app.ini:NGINX
- Standard
- Subpath
- HTTPS
Add the following Set the matching external URL in
server block inside the http section of your nginx.conf (or in a file under sites-available), then reload the NGINX configuration:custom/conf/app.ini:Large file uploads
If you encounter HTTP413 Request Entity Too Large errors when pushing large files through NGINX, add client_max_body_size to your server block:
Apache 2
- Standard
- Subpath
- HTTPS
Create or edit your virtual host configuration file (e.g. Set the matching external URL in
/etc/apache2/vhost.d/gogs.conf):custom/conf/app.ini:lighttpd
- Standard
- Subpath
Add the following to your lighttpd configuration:Set the matching external URL in
custom/conf/app.ini:IIS
Create a new website in IIS and use the followingweb.config file.
If you do not need HTTPS handled by IIS, remove the entire
RedirectToHttps rule section from the configuration below.custom/conf/app.ini:
Native HTTPS
If you are not using a reverse proxy, Gogs can serve HTTPS directly. Update the[server] section of custom/conf/app.ini: