mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	
							
								
								
									
										102
									
								
								docs/content/doc/usage/reverse-proxies.en-us.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								docs/content/doc/usage/reverse-proxies.en-us.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
---
 | 
			
		||||
date: "2018-05-22T11:00:00+00:00"
 | 
			
		||||
title: "Usage: Reverse Proxies"
 | 
			
		||||
slug: "reverse-proxies"
 | 
			
		||||
weight: 17
 | 
			
		||||
toc: true
 | 
			
		||||
draft: false
 | 
			
		||||
menu:
 | 
			
		||||
  sidebar:
 | 
			
		||||
    parent: "usage"
 | 
			
		||||
    name: "Reverse Proxies"
 | 
			
		||||
    weight: 16
 | 
			
		||||
    identifier: "reverse-proxies"
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
##  Using Nginx as a reverse proxy
 | 
			
		||||
If you want Nginx to serve your Gitea instance you can the following `server` section inside the `http` section of `nginx.conf`:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
server {
 | 
			
		||||
    listen 80;
 | 
			
		||||
    server_name git.example.com;
 | 
			
		||||
 | 
			
		||||
    location / {
 | 
			
		||||
        proxy_pass http://localhost:3000;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Using Nginx with a Sub-path as a reverse proxy
 | 
			
		||||
 | 
			
		||||
In case you already have a site, and you want Gitea to share the domain name, you can setup Nginx to serve Gitea under a sub-path by adding the following `server` section inside the `http` section of `nginx.conf`:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
server {
 | 
			
		||||
    listen 80;
 | 
			
		||||
    server_name git.example.com;
 | 
			
		||||
 | 
			
		||||
    location /git/ { # Note: Trailing slash
 | 
			
		||||
        proxy_pass http://localhost:3000/; # Note: Trailing slash
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then set `[server] ROOT_URL = http://git.example.com/git/` in your configuration.
 | 
			
		||||
 | 
			
		||||
## Using Apache HTTPD as a reverse proxy
 | 
			
		||||
 | 
			
		||||
If you want Apache HTTPD to serve your Gitea instance you can add the following to you Apache HTTPD configuration (usually located at `/etc/apache2/httpd.conf` in Ubuntu):
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
<VirtualHost *:80>
 | 
			
		||||
    ...
 | 
			
		||||
    ProxyPreserveHost On
 | 
			
		||||
    ProxyRequests off
 | 
			
		||||
    ProxyPass / http://localhost:3000/
 | 
			
		||||
    ProxyPassReverse / http://localhost:3000/
 | 
			
		||||
</VirtualHost>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Note: The following Apache HTTPD mods must be enabled: `proxy`, `proxy_http`
 | 
			
		||||
 | 
			
		||||
## Using Apache HTTPD with a Sub-path as a reverse proxy
 | 
			
		||||
 | 
			
		||||
In case you already have a site, and you want Gitea to share the domain name, you can setup Apache HTTPD to serve Gitea under a sub-path by adding the following to you Apache HTTPD configuration (usually located at `/etc/apache2/httpd.conf` in Ubuntu):
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
<VirtualHost *:80>
 | 
			
		||||
    ...
 | 
			
		||||
    <Proxy *>
 | 
			
		||||
         Order allow,deny
 | 
			
		||||
         Allow from all
 | 
			
		||||
    </Proxy>
 | 
			
		||||
 | 
			
		||||
    ProxyPass /git http://localhost:3000 # Note: no trailing slash after either /git or port
 | 
			
		||||
    ProxyPassReverse /git http://localhost:3000 # Note: no trailing slash after either /git or port
 | 
			
		||||
</VirtualHost>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then set `[server] ROOT_URL = http://git.example.com/git/` in your configuration.
 | 
			
		||||
 | 
			
		||||
Note: The following Apache HTTPD mods must be enabled: `proxy`, `proxy_http`
 | 
			
		||||
 | 
			
		||||
## Using Caddy with a Sub-path as a reverse proxy
 | 
			
		||||
 | 
			
		||||
If you want Caddy to serve your Gitea instance you can add the following server block to your Caddyfile:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git.example.com {
 | 
			
		||||
    proxy / http://localhost:3000
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
##### How do I set up a sub-path with Caddy?
 | 
			
		||||
 | 
			
		||||
In case you already have a site, and you want Gitea to share the domain name, you can setup Caddy to serve Gitea under a sub-path by adding the following to you server block in your Caddyfile:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git.example.com {
 | 
			
		||||
    proxy /git/ http://localhost:3000 # Note: Trailing Slash after /git/
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
		Reference in New Issue
	
	Block a user