From d756226c47a9f8abb3d05116257d94c03d5646cb Mon Sep 17 00:00:00 2001 From: Marwolf Date: Fri, 27 Jul 2018 13:04:08 -0400 Subject: [PATCH] Organized Nginx conf with added HTTPS version --- etc/nginx/HTTPS_default.template.conf | 204 ++++++++++++++++++++++++++ etc/nginx/default.template.conf | 127 ++++++---------- 2 files changed, 245 insertions(+), 86 deletions(-) create mode 100755 etc/nginx/HTTPS_default.template.conf diff --git a/etc/nginx/HTTPS_default.template.conf b/etc/nginx/HTTPS_default.template.conf new file mode 100755 index 0000000..4a590e4 --- /dev/null +++ b/etc/nginx/HTTPS_default.template.conf @@ -0,0 +1,204 @@ +# Nginx configuration for HTTPS only + +server_tokens off; +add_header X-XSS-Protection "1; mode=block"; +add_header X-Content-Type-Options nosniff; + +upstream dev_tomcat_1 { + server tomcat; +} + +# 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.php index.html index.htm index.jsp; + + # Redirect all requests to HTTPS on :443 + location / { + rewrite ^ https://$host$request_uri? permanent; + } + + ####### Proxies ####### + # PHP proxy + location ~ \.php$ { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + } + + # Tomcat proxy + location ~ \.(do|jspa|obr|jsp) { + 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; + } + + # Block accidental directory listing + location / { + try_files $uri $uri/ =404; + } + + # 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 ~ /\.svn|/\.git { + deny all; + internal; + } + + # Certbot for HTTPS cert renewal + location ^~ /.well-known { + allow all; + root /data/letsencrypt/; + } + + ####### PHPBB Forum ####### + # PHPBB forum + location /board { + index index.php index.html index.htm; + try_files $uri $uri/ @rewriteapp; + } + + # PHPBB installer rewrite + location /install/ { + try_files $uri $uri/ @rewrite_installapp; + } + + location @rewriteapp { + rewrite ^(.*)$ /app.php/$1 last; + } + + # Deny access to internal phpbb files. + location ~ /board(config\.php|common\.php|files|images/avatars/upload|includes|(?