#!/bin/sh set -eu cd "$(dirname "$0")/.." hop_tunnel_peers=$(sudo docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{"\n"}}{{.Gateway}}{{"\n"}}{{.GlobalIPv6Address}}{{"\n"}}{{.IPv6Gateway}}{{"\n"}}{{end}}' cloudflared-tunnel | awk 'NF { print }' | sort -u) hop_proxy_gateways=$(sudo docker inspect --format '{{range .NetworkSettings.Networks}}{{.Gateway}}{{"\n"}}{{.IPv6Gateway}}{{"\n"}}{{end}}' nginx-proxy-manager-app-1 | awk 'NF { print }' | sort -u) if [ -z "$hop_tunnel_peers" ]; then printf '%s\n' 'Tunnel의 Docker 네트워크 주소를 확인할 수 없습니다. 네트워크 설정을 먼저 확인하세요.' >&2 exit 1 fi printf '%s\n' 'client_max_body_size 2048m;' 'proxy_read_timeout 3600s;' 'proxy_send_timeout 3600s;' 'set $hop_tunnel_allowed 0;' for hop_peer in $hop_tunnel_peers $hop_proxy_gateways; do printf 'if ($realip_remote_addr = "%s") { set $hop_tunnel_allowed 1; }\n' "$hop_peer" done printf '%s\n' 'if ($hop_tunnel_allowed = 0) { return 403; }'