11#! /usr/bin/env sh
22
3- set -euo pipefail
3+ set -eu
44
55# Configure nginx security based on ENV vars, and if available the defaults
66# located at `/etc/csp-generator/default`.
@@ -19,17 +19,17 @@ set -euo pipefail
1919# - NGINX_FRAME_OPTIONS: defaults to 'deny', note that setting to `disable` removes the header completely.
2020
2121# Set defaults
22- NGINX_CONFIG_FILE=' /etc/nginx/snippets/vars/csp-and-robots.conf'
23- NGINX_CSP_ITEMS=' child-src connect-src font-src form-action frame-ancestors frame-src img-src manifest-src media-src object-src require-trusted-types-for script-src style-src trusted-types worker-src'
24- NGINX_CSP_MODE=" ${NGINX_CSP_MODE:- report-only} "
25- NGINX_CSP_REPORT_URI=" ${NGINX_CSP_REPORT_URI:- } "
26- NGINX_FRAME_OPTIONS=" ${NGINX_FRAME_OPTIONS:- deny} "
22+ readonly NGINX_CONFIG_FILE=' /etc/nginx/snippets/vars/csp-and-robots.conf'
23+ readonly NGINX_CSP_ITEMS=' child-src connect-src font-src form-action frame-ancestors frame-src img-src manifest-src media-src object-src require-trusted-types-for script-src style-src trusted-types worker-src'
24+ readonly NGINX_CSP_MODE=" ${NGINX_CSP_MODE:- report-only} "
25+ readonly NGINX_CSP_REPORT_URI=" ${NGINX_CSP_REPORT_URI:- } "
26+ readonly NGINX_FRAME_OPTIONS=" ${NGINX_FRAME_OPTIONS:- deny} "
2727
2828# Validate input
2929if [ " ${NGINX_CSP_MODE} " = ' enforce' ]; then
30- NGINX_CSP_VAR_NAME=' content_security_policy'
30+ readonly NGINX_CSP_VAR_NAME=' content_security_policy'
3131elif [ " ${NGINX_CSP_MODE} " = ' report-only' ]; then
32- NGINX_CSP_VAR_NAME=' content_security_policy_report_only'
32+ readonly NGINX_CSP_VAR_NAME=' content_security_policy_report_only'
3333else
3434 echo " Nginx: invalid CSP mode ${NGINX_CSP_MODE} "
3535 exit 1
0 commit comments