summaryrefslogtreecommitdiffstats
path: root/docs/content/doc/usage
diff options
context:
space:
mode:
authorJakob Ackermann <das7pad@outlook.com>2019-10-22 14:11:01 +0200
committerLunny Xiao <xiaolunwen@gmail.com>2019-10-22 20:11:01 +0800
commit00629fea95970e99ba5ef05954bbad0804805df6 (patch)
tree1590e0f7913c71689727cc17a3bf2786b43028ce /docs/content/doc/usage
parentd0c7a08d751bd068e557efe56683b999d29eb910 (diff)
downloadgitea-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.md68
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):