mailinabox/conf/nginx.conf

102 lines
2.9 KiB
Nginx Configuration File

## NOTE: This file is automatically generated by Mail-in-a-Box.
## Do not edit this file. It will be replaced each time
## Mail-in-a-Box needs up update the web configuration.
# Redirect all HTTP to HTTPS.
server {
listen 80;
listen [::]:80;
server_name $HOSTNAME;
root /tmp/invalid-path-nothing-here;
rewrite ^/(.*)$ https://$HOSTNAME/$1 permanent;
}
# The secure HTTPS server.
server {
listen 443 ssl;
server_name $HOSTNAME;
ssl_certificate $SSL_CERTIFICATE;
ssl_certificate_key $SSL_KEY;
include /etc/nginx/nginx-ssl.conf;
# Expose this directory as static files.
root $ROOT;
index index.html index.htm;
# ownCloud configuration
# TODO: we should support owncloud to be loaded from www root, but for now we dont :-)
client_max_body_size 10G; # set max upload size
fastcgi_buffers 64 4K;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
error_page 403 /owncloud/core/templates/403.php;
error_page 404 /owncloud/core/templates/404.php;
rewrite ^/caldav(.*)$ /owncloud/remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /owncloud/remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /owncloud/remote.php/webdav$1 redirect;
rewrite ^/owncloud$ /owncloud/ redirect;
rewrite ^/owncloud/$ /owncloud/index.php;
location /owncloud/ {
index index.php;
alias /usr/local/lib/owncloud/;
}
location ~ ^/owncloud/(.+?\.php)/? {
fastcgi_split_path_info ^/owncloud/(.+?\.php)(/?.*)$;
set $path_info $fastcgi_path_info;
# try_files $fastcgi_script_name = 404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/lib/owncloud/$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_param HTTPS on;
fastcgi_param SCRIPT_NAME /owncloud/$fastcgi_script_name;
fastcgi_pass unix:/tmp/php-fastcgi.www-data.sock;
}
location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}
# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}
# Webfinger configuration.
# TODO: fix this for owncloud: http://doc.owncloud.org/server/5.0/admin_manual/installation/installation_others.html
location = /.well-known/webfinger {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/bin/mailinabox-webfinger.php;
fastcgi_pass unix:/tmp/php-fastcgi.www-data.sock;
}
# Microsoft Exchange autodiscover.xml for email
location /autodiscover/autodiscover.xml {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/bin/mailinabox-exchange-autodiscover.php;
fastcgi_pass unix:/tmp/php-fastcgi.www-data.sock;
}
# Z-Push (Microsoft Exchange ActiveSync)
location /Microsoft-Server-ActiveSync {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/lib/z-push/index.php;
fastcgi_pass unix:/tmp/php-fastcgi.www-data.sock;
}
# ADDITIONAL DIRECTIVES HERE
}