## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # http://wiki.nginx.org/Pitfalls # http://wiki.nginx.org/QuickStart # http://wiki.nginx.org/Configuration # # Generally, you will want to move this file somewhere, and start with a clean # file but keep this around for reference. Or just disable in sites-enabled. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## # Default server configuration # map $sent_http_content_type $expires { default off; text/html epoch; text/css max; application/javascript max; ~image/ max; } upstream seafilepro { server seafilepro-service-dockerbunker:80; } server { listen 80; server_name ${SERVICE_DOMAIN}; return 301 https://$host$request_uri; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header X-Frame-Options "DENY" always; add_header Referrer-Policy "strict-origin" always; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; server_tokens off; } 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 X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header X-Frame-Options "DENY" always; add_header Referrer-Policy "strict-origin" always; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; include /etc/nginx/includes/gzip.conf; location / { proxy_pass http://seafilepro/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Proto https; proxy_request_buffering off; access_log /var/log/nginx/dav.access.log; error_log /var/log/nginx/dav.error.log; proxy_read_timeout 1200s; client_max_body_size 0; } expires $expires; # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ /\. { deny all; access_log off; log_not_found 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; } }