Flask-CloudflareRemote
Cloudflare proxy support for flask application.
It gets client ip from cloudflare headers and can allow request from cloudflare ips only.
Quickstart
Install flask_cloudflare_remote
using pip
:
$ pip install Flask-CloudflareRemote
Example usage
import flask
from flask_cloudflare_remote import CloudflareRemote
app = Flask(__name__)
cf = CloudflareRemote()
cf.init_app(app)
Configuration
-
CF_DOMAIN
: (default: 'www.cloudflare.com') -
CF_REQ_TIMEOUT
: (default: 10) -
CF_IPs
: (default: None) list of allowed cloudflare ips -
CF_IP4_URI
: (default: '/ips-v4') ipv4 list uri -
CF_IP6_URI
: (default: '/ips-v6') ipv6 list uri -
CF_IPv6_ENABLED
: (default: False) enable ipv6 -
CF_STRICT_ACCESS
: (default: True) return forbidden if remote ip is not in allowed list -
CF_OVERRIDE_REMOTE
: (default: True) override flask REMOTE_ADDR from request -
CF_HDR_CLIENT_IP
: (default: 'CF-Connecting-IP') header key used for client ip
License MIT