diff options
author | Jakob Ackermann <das7pad@outlook.com> | 2019-10-22 14:11:01 +0200 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2019-10-22 20:11:01 +0800 |
commit | 00629fea95970e99ba5ef05954bbad0804805df6 (patch) | |
tree | 1590e0f7913c71689727cc17a3bf2786b43028ce /docs/content/doc/usage | |
parent | d0c7a08d751bd068e557efe56683b999d29eb910 (diff) | |
download | gitea-00629fea95970e99ba5ef05954bbad0804805df6.tar.gz gitea-00629fea95970e99ba5ef05954bbad0804805df6.zip |
[assets] configurable URL for static resources (#7911)
* static url
* add cors support for static resources
* [assets] work on the migration to configurable url for assets
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [misc] fix whitespace
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [assets] fix the loading of the manifest.json
It is generated dynamically, and as such can not be served by the cdn.
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* Revert "add cors support for static resources"
This reverts commit 42f964fd181dbb8b139808b9be623470d4f0e40f
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [docs] add the STATIC_URL_PREFIX option
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [docs] reverse-proxy: nginx: add two setups for STATIC_URL_PREFIX
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [assets] migrate the url of a new asset to the static url prefix
REF: f2a3abc683ad4b2177b7c7c6160a2c0b4316120a
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
Diffstat (limited to 'docs/content/doc/usage')
-rw-r--r-- | docs/content/doc/usage/reverse-proxies.en-us.md | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/docs/content/doc/usage/reverse-proxies.en-us.md b/docs/content/doc/usage/reverse-proxies.en-us.md index 47a5b95572..55c8bb9710 100644 --- a/docs/content/doc/usage/reverse-proxies.en-us.md +++ b/docs/content/doc/usage/reverse-proxies.en-us.md @@ -44,6 +44,74 @@ server { Then set `[server] ROOT_URL = http://git.example.com/git/` in your configuration. +## Using Nginx as a reverse proxy and serve static resources directly +We can tune the performance in splitting requests into categories static and dynamic. + +CSS files, JavaScript files, images and web fonts are static content. +The front page, a repository view or issue list is dynamic content. + +Nginx can serve static resources directly and proxy only the dynamic requests to gitea. +Nginx is optimized for serving static content, while the proxying of large responses might be the opposite of that + (see https://serverfault.com/q/587386). + +Download a snap shot of the gitea source repository to `/path/to/gitea/`. + +We are only interested in the `public/` directory and you can delete the rest. + +Depending on the scale of your user base, you might want to split the traffic to two distinct servers, + or use a cdn for the static files. + +### using a single node and a single domain + +Set `[server] STATIC_URL_PREFIX = /_/static` in your configuration. + +``` +server { + listen 80; + server_name git.example.com; + + location /_/static { + alias /path/to/gitea/public; + } + + location / { + proxy_pass http://localhost:3000; + } +} +``` + +### using two nodes and two domains + +Set `[server] STATIC_URL_PREFIX = http://cdn.example.com/gitea` in your configuration. + +``` +# application server running gitea +server { + listen 80; + server_name git.example.com; + + location / { + proxy_pass http://localhost:3000; + } +} +``` + +``` +# static content delivery server +server { + listen 80; + server_name cdn.example.com; + + location /gitea { + alias /path/to/gitea/public; + } + + location / { + return 404; + } +} +``` + ## Using Apache HTTPD as a reverse proxy If you want Apache HTTPD to serve your Gitea instance, you can add the following to your Apache HTTPD configuration (usually located at `/etc/apache2/httpd.conf` in Ubuntu): |