2014-08-27 02:38:43 +00:00
|
|
|
# Control Panel
|
2014-10-05 12:55:28 +00:00
|
|
|
# Proxy /admin to our Python based control panel daemon. It is
|
|
|
|
# listening on IPv4 only so use an IP address and not 'localhost'.
|
2014-08-27 02:38:43 +00:00
|
|
|
rewrite ^/admin$ /admin/;
|
|
|
|
location /admin/ {
|
2014-10-05 12:55:28 +00:00
|
|
|
proxy_pass http://127.0.0.1:10222/;
|
2014-08-27 02:38:43 +00:00
|
|
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
|
|
}
|
|
|
|
|
2014-08-16 12:33:10 +00:00
|
|
|
# ownCloud configuration.
|
|
|
|
rewrite ^/cloud$ /cloud/ redirect;
|
|
|
|
rewrite ^/cloud/$ /cloud/index.php;
|
2014-09-03 10:51:19 +00:00
|
|
|
rewrite ^/cloud/(contacts|calendar|files)$ /cloud/index.php/apps/$1/ redirect;
|
2014-08-16 12:33:10 +00:00
|
|
|
rewrite ^(/cloud/core/doc/[^\/]+/)$ $1/index.html;
|
|
|
|
location /cloud/ {
|
|
|
|
alias /usr/local/lib/owncloud/;
|
|
|
|
location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
|
|
|
|
deny all;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
location ~ ^(/cloud)(/[^/]+\.php)(/.*)?$ {
|
|
|
|
# note: ~ has precendence over a regular location block
|
|
|
|
include fastcgi_params;
|
|
|
|
fastcgi_param SCRIPT_FILENAME /usr/local/lib/owncloud/$2;
|
|
|
|
fastcgi_param SCRIPT_NAME $1$2;
|
|
|
|
fastcgi_param PATH_INFO $3;
|
|
|
|
fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED on;
|
|
|
|
fastcgi_read_timeout 630;
|
|
|
|
fastcgi_pass php-fpm;
|
|
|
|
error_page 403 /cloud/core/templates/403.php;
|
|
|
|
error_page 404 /cloud/core/templates/404.php;
|
|
|
|
client_max_body_size 1G;
|
|
|
|
fastcgi_buffers 64 4K;
|
|
|
|
}
|
|
|
|
location ^~ /cloud/data {
|
|
|
|
# In order to support MOD_X_ACCEL_REDIRECT_ENABLED, we need to expose
|
|
|
|
# the data directory but only allow 'internal' redirects within nginx
|
|
|
|
# so that this is not exposed to the world.
|
|
|
|
internal;
|
|
|
|
alias $STORAGE_ROOT/owncloud;
|
|
|
|
}
|
|
|
|
location ~ ^/((caldav|carddav|webdav).*)$ {
|
|
|
|
# Z-Push doesn't like getting a redirect, and a plain rewrite didn't work either.
|
|
|
|
# Properly proxying like this seems to work fine.
|
|
|
|
proxy_pass https://$HOSTNAME/cloud/remote.php/$1;
|
|
|
|
}
|
|
|
|
rewrite ^/.well-known/host-meta /cloud/public.php?service=host-meta last;
|
|
|
|
rewrite ^/.well-known/host-meta.json /cloud/public.php?service=host-meta-json last;
|
|
|
|
rewrite ^/.well-known/carddav /cloud/remote.php/carddav/ redirect;
|
|
|
|
rewrite ^/.well-known/caldav /cloud/remote.php/caldav/ redirect;
|
|
|
|
|