128 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Caddyfile
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Caddyfile
		
	
	
	
	
	
| yourhostnamehere JAIL-IP {
 | |
| 
 | |
| 	root   /usr/local/www/nextcloud
 | |
| 	log    /var/log/nextcloud_access.log
 | |
| 	errors /var/log/nextcloud_errors.log
 | |
| 
 | |
| 	tls {
 | |
| 		ca https://acme-staging-v02.api.letsencrypt.org/directory
 | |
| 		DNS-PLACEHOLDER
 | |
| 	}
 | |
| 
 | |
| 	fastcgi / 127.0.0.1:9000 php {
 | |
| 		env PATH /bin
 | |
| 		env modHeadersAvailable true
 | |
| 		env front_controller_active true
 | |
| 		connect_timeout 60s
 | |
| 		read_timeout 3600s
 | |
| 		send_timeout 300s
 | |
| 	}
 | |
| 
 | |
| 	header / {
 | |
| 		Strict-Transport-Security		"max-age=15768000;"
 | |
| 		X-Content-Type-Options			"nosniff"
 | |
| 		X-XSS-Protection			"1; mode=block"
 | |
| 		X-Robots-Tag				"none"
 | |
| 		X-Download-Options			"noopen"
 | |
| 		X-Permitted-Cross-Domain-Policies	"none"
 | |
| 		X-Frame-Options "SAMEORIGIN"
 | |
| 		Referrer-Policy				"no-referrer"
 | |
| 	}
 | |
| 
 | |
| 	header /core/fonts {
 | |
| 		Cache-Control				"max-age=604800"
 | |
| 	}
 | |
| 
 | |
| 	# checks for images
 | |
| 	rewrite {
 | |
| 		ext .png .html .ttf .ico .jpg .jpeg .css .js .woff .woff2 .svg .gif .map
 | |
| 		r ^/index.php/.*$
 | |
| 		to /{1} /index.php?{query}
 | |
| 	}
 | |
| 	
 | |
| 	rewrite {
 | |
|                 r ^/\.well-known/host-meta$
 | |
|                 to /public.php?service=host-meta&{query}
 | |
|         }
 | |
| 	rewrite {
 | |
|                 r ^/\.well-known/host-meta\.json$
 | |
|                 to /public.php?service=host-meta-json&{query}
 | |
|         }
 | |
| 	rewrite {
 | |
|                 r ^/\.well-known/webfinger$
 | |
|                 to /public.php?service=webfinger&{query}
 | |
|         }
 | |
| 
 | |
| 	rewrite {
 | |
| 		r ^/index.php/.*$
 | |
| 		to /index.php?{query}
 | |
| 	}
 | |
| 
 | |
| 	rewrite / {
 | |
| 		if {path} not_starts_with /remote.php
 | |
| 		if {path} not_starts_with /public.php
 | |
| 		ext .png .html .ttf .ico .jpg .jpeg .css .js .woff .woff2 .svg .gif .map .html .ttf 
 | |
| 		r ^/(.*)$
 | |
| 		to /{1} /index.php{uri}
 | |
| 	}
 | |
| 
 | |
| 	rewrite / {
 | |
| 		if {path} not /core/img/favicon.ico
 | |
| 		if {path} not /core/img/manifest.json
 | |
| 		if {path} not_starts_with /remote.php
 | |
| 		if {path} not_starts_with /public.php
 | |
| 		if {path} not_starts_with /cron.php
 | |
| 		if {path} not_starts_with /core/ajax/update.php
 | |
| 		if {path} not_starts_with /status.php
 | |
| 		if {path} not_starts_with /ocs/v1.php
 | |
| 		if {path} not_starts_with /ocs/v2.php
 | |
| 		if {path} not /robots.txt
 | |
| 		if {path} not_starts_with /updater/
 | |
| 		if {path} not_starts_with /ocs-provider/
 | |
| 		if {path} not_starts_with /ocm-provider/ 
 | |
| 		if {path} not_starts_with /.well-known/
 | |
| 		to /index.php{uri}
 | |
| 	}
 | |
| 
 | |
| 	# client support (e.g. os x calendar / contacts)
 | |
| 	redir /.well-known/carddav /remote.php/carddav 301
 | |
| 	redir /.well-known/caldav /remote.php/caldav 301
 | |
| 
 | |
| 	# remove trailing / as it causes errors with php-fpm
 | |
| 	rewrite {
 | |
| 		r ^/remote.php/(webdav|caldav|carddav|dav)(\/?)(\/?)$
 | |
| 		to /remote.php/{1}
 | |
| 	}
 | |
| 
 | |
| 	rewrite {
 | |
| 		r ^/remote.php/(webdav|caldav|carddav|dav)/(.+?)(\/?)(\/?)$
 | |
| 		to /remote.php/{1}/{2}
 | |
| 	}
 | |
| 
 | |
| 	rewrite {
 | |
| 		r ^/public.php/(dav|webdav|caldav|carddav)(\/?)(\/?)$
 | |
| 		to /public.php/{1}
 | |
| 	}
 | |
| 
 | |
| 	rewrite {
 | |
| 		r ^/public.php/(dav|webdav|caldav|carddav)/(.+)(\/?)(\/?)$
 | |
| 		to /public.php/{1}/{2}
 | |
| 	}
 | |
| 
 | |
| 	# .htaccess / data / config / ... shouldn't be accessible from outside
 | |
| 	status 404 {
 | |
| 		/.htaccess
 | |
| 		/data
 | |
| 		/config
 | |
| 		/db_structure
 | |
| 		/.xml
 | |
| 		/README
 | |
| 		/3rdparty
 | |
| 		/lib
 | |
| 		/templates
 | |
| 		/occ
 | |
| 		/console.php
 | |
| 	}
 | |
| 
 | |
| }
 |