mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-04 16:33:32 +00:00
This commit changes access-list IP directives to be implemented using the nginx "geo" directive. This allows IP-based blocks to return 444 (drop connection) on authorization failure when the "Drop Unauthorized" is enabled. It also allows the implementation of "Satisfy Any" with the new client CA certificate support - i.e. Satisfy Any can allow clients from the local network to skip client certificate challenge, or drop down to requesting basic authentication. It should be noted that including basic authentication requirements in Satisfy Any mode does prevent a 444 response from being sent, as the basic auth challenge requires the server to respond.
44 lines
1.0 KiB
Bash
Executable File
44 lines
1.0 KiB
Bash
Executable File
#!/command/with-contenv bash
|
|
# shellcheck shell=bash
|
|
|
|
set -e
|
|
|
|
log_info 'Checking paths ...'
|
|
|
|
# Ensure /data is mounted
|
|
if [ ! -d '/data' ]; then
|
|
log_fatal '/data is not mounted! Check your docker configuration.'
|
|
fi
|
|
# Ensure /etc/letsencrypt is mounted
|
|
if [ ! -d '/etc/letsencrypt' ]; then
|
|
log_fatal '/etc/letsencrypt is not mounted! Check your docker configuration.'
|
|
fi
|
|
|
|
# Create required folders
|
|
mkdir -p \
|
|
/data/nginx \
|
|
/data/custom_ssl \
|
|
/data/logs \
|
|
/data/access \
|
|
/data/clientca \
|
|
/data/nginx/client \
|
|
/data/nginx/default_host \
|
|
/data/nginx/default_www \
|
|
/data/nginx/proxy_host \
|
|
/data/nginx/redirection_host \
|
|
/data/nginx/stream \
|
|
/data/nginx/dead_host \
|
|
/data/nginx/temp \
|
|
/data/letsencrypt-acme-challenge \
|
|
/run/nginx \
|
|
/tmp/nginx/body \
|
|
/var/log/nginx \
|
|
/var/lib/nginx/cache/public \
|
|
/var/lib/nginx/cache/private \
|
|
/var/cache/nginx/proxy_temp
|
|
|
|
touch /var/log/nginx/error.log || true
|
|
chmod 777 /var/log/nginx/error.log || true
|
|
chmod -R 777 /var/cache/nginx || true
|
|
chmod 644 /etc/logrotate.d/nginx-proxy-manager
|