Skip to content

Instantly share code, notes, and snippets.

@KuJoe
Created January 3, 2023 19:19
Show Gist options
  • Save KuJoe/7d160aae3879077b1dacae8e03c897bc to your computer and use it in GitHub Desktop.
Save KuJoe/7d160aae3879077b1dacae8e03c897bc to your computer and use it in GitHub Desktop.
nginx + Cloudflare script
#!/bin/bash
CLOUDFLARE_FILE_PATH=${1:-/etc/nginx/conf.d/cloudflare.conf}
echo "#Cloudflare" > $CLOUDFLARE_FILE_PATH;
echo "" >> $CLOUDFLARE_FILE_PATH;
echo "# - IPv4" >> $CLOUDFLARE_FILE_PATH;
for i in `curl -s -L https://www.cloudflare.com/ips-v4`; do
echo "set_real_ip_from $i;" >> $CLOUDFLARE_FILE_PATH;
done
echo "" >> $CLOUDFLARE_FILE_PATH;
echo "# - IPv6" >> $CLOUDFLARE_FILE_PATH;
for i in `curl -s -L https://www.cloudflare.com/ips-v6`; do
echo "set_real_ip_from $i;" >> $CLOUDFLARE_FILE_PATH;
done
echo "" >> $CLOUDFLARE_FILE_PATH;
echo "real_ip_header CF-Connecting-IP;" >> $CLOUDFLARE_FILE_PATH;
#test configuration and reload nginx
nginx -t && systemctl reload nginx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment