map $sent_http_content_type $expires { default off; text/html epoch; text/css max; application/javascript max; ~image/ max; } upstream piwik { server piwik-service-dockerbunker:80; } server { listen 80; server_name ${SERVICE_DOMAIN}; return 301 https://$host$request_uri; } server { listen 443; server_name ${SERVICE_DOMAIN}; ssl on; ssl_certificate /etc/nginx/ssl/${SERVICE_DOMAIN}/cert.pem; ssl_certificate_key /etc/nginx/ssl/${SERVICE_DOMAIN}/key.pem; include /etc/nginx/includes/ssl.conf; add_header Strict-Transport-Security "max-age=15768000; includeSubDomains"; add_header X-Frame-Options SAMEORIGIN; add_header X-XSS-Protection "1; mode=block"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; include /etc/nginx/includes/gzip.conf; location / { proxy_pass http://piwik/; } expires $expires; location = /favicon.ico { log_not_found off; access_log off; } location ^~ /.well-known/ { access_log off; log_not_found off; root /var/www/html; # autoindex off; index index.html; # "no-such-file.txt",if expected protos don't need it try_files $uri $uri/ =404; } }