# Nginx configuration for HTTP server_tokens off; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options nosniff; upstream dev_tomcat_1 { server tomcat; } upstream dev_ghost_1 { server ghost:2368; } # HTTP server { listen 80 default_server; listen [::]:80 default_server; gzip on; gzip_static on; gzip_vary on; gzip_http_version 1.1; gzip_min_length 700; gzip_comp_level 6; server_name ${NGINX_HOST}; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/html/public; index index.html index.htm index.jsp; ####### Proxies ####### # Ghost proxy location ~ { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://ghost:2368; } # Tomcat proxy location ~ \.(do|jspa|obr|jsp|txt|zip) { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://tomcat:8082; } ####### Protections and efficiencies ####### # Deny access to files beginning with .ht, such as .htaccess and .htpasswd location ~ /\.ht { deny all; } # Instructs visitor browser to cache files for 1 month location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1M; } # Deny access to version control system directories. location ~ /\.git { deny all; internal; } # Certbot for HTTPS cert renewal location ^~ /.well-known { allow all; root /data/letsencrypt/; } }