How to configure CloudFlare with Nginx on Ubuntu?

peng·2025년 4월 5일

bash

sudo vim ~/cloudflare_init.sh

sudo vim /etc/nginx/nginx.conf

sudo chmod 777 ~/cloudflare_init.sh
sudo ~/cloudflare_init.sh

sudo crontab -e

~/cloudflare_init.sh

#!/bin/bash

CLOUDFLARE_FILE_PATH=/etc/nginx/cloudflare.conf

echo "# CloudFlare" > $CLOUDFLARE_FILE_PATH;
echo "" >> $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;
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;

nginx -t && systemctl reload nginx

/etc/nginx/nginx.conf

...
##
# CloudFlare Settings
##
include /etc/nginx/cloudflare.conf;
...

crontab

30 2 * * * ~/cloudflare_init.sh >> /dev/null 2>&1

0개의 댓글