3.1 KiB
date | title | draft | type | menu | ||||
---|---|---|---|---|---|---|---|---|
2019-02-12:00:00+02:00 | Reverse Proxy | false | doc |
|
Setup behind a reverse proxy which also serves the frontend
These examples assume you have an instance of the backend running on your server listening on port 3456
.
If you've changed this setting, you need to update the server configurations accordingly.
{{< table_of_contents >}}
NGINX
Below are two example configurations which you can put in your nginx.conf
:
You may need to adjust server_name
and root
accordingly.
with gzip enabled (recommended)
{{< highlight conf >}} gzip on; gzip_disable "msie6";
gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_min_length 256; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml;
server { listen 80; server_name localhost;
location / {
root /path/to/vikunja/static/frontend/files;
try_files $uri $uri/ /;
index index.html index.htm;
}
location ~* ^/(api|dav|\.well-known)/ {
proxy_pass http://localhost:3456;
client_max_body_size 20M;
}
} {{< /highlight >}}
client_max_body_size
in the nginx proxy config.
without gzip
{{< highlight conf >}} server { listen 80; server_name localhost;
location / {
root /path/to/vikunja/static/frontend/files;
try_files $uri $uri/ /;
index index.html index.htm;
}
location ~* ^/(api|dav|\.well-known)/ {
proxy_pass http://localhost:3456;
client_max_body_size 20M;
}
} {{< /highlight >}}
client_max_body_size
in the nginx proxy config.
Apache
Put the following config in cat /etc/apache2/sites-available/vikunja.conf
:
{{< highlight aconf >}} <VirtualHost *:80> ServerName localhost
<Proxy *>
Order Deny,Allow
Allow from all
</Proxy>
ProxyPass /api http://localhost:3456/api
ProxyPassReverse /api http://localhost:3456/api
ProxyPass /dav http://localhost:3456/dav
ProxyPassReverse /dav http://localhost:3456/dav
ProxyPass /.well-known http://localhost:3456/.well-known
ProxyPassReverse /.well-known http://localhost:3456/.well-known
DocumentRoot /var/www/html
RewriteEngine On
RewriteRule ^\/?(favicon\.ico|assets|audio|fonts|images|manifest\.webmanifest|robots\.txt|sw\.js|workbox-.*|api|dav|\.well-known) - [L]
RewriteRule ^(.*)$ /index.html [QSA,L]
{{< /highlight >}}
Note: The apache modules proxy
, proxy_http
and rewrite
must be enabled for this.
For more details see the [frontend apache configuration]({{< ref "install-frontend.md#apache">}}).