Skip to main content

Cloudflare proxy support for flask application

Project description

Cloudflare proxy support for flask application.

It gets client ip from cloudflare headers and can allow request from cloudflare ips only. If you are behind a proxy remember to use werkzeug.middleware.proxy_fix.ProxyFix, alternative you can override CloudflareRemote.get_remote() in order to fetch the correct client ip for example via HTTP_X_FORWARDED_FOR.

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

  1. CF_DOMAIN: (default: ‘www.cloudflare.com’)

  2. CF_REQ_TIMEOUT: (default: 10)

  3. CF_IPs: (default: None) list of allowed cloudflare ips

  4. CF_IP4_URI: (default: ‘/ips-v4’) ipv4 list uri

  5. CF_IP6_URI: (default: ‘/ips-v6’) ipv6 list uri

  6. CF_IPv6_ENABLED: (default: False) enable ipv6

  7. CF_STRICT_ACCESS: (default: True) return forbidden if remote ip is not in allowed list

  8. CF_OVERRIDE_REMOTE: (default: True) override flask REMOTE_ADDR from request

  9. CF_HDR_CLIENT_IP: (default: ‘CF-Connecting-IP’) header key used for client ip

License MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-CloudflareRemote-1.1.2.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file Flask-CloudflareRemote-1.1.2.tar.gz.

File metadata

  • Download URL: Flask-CloudflareRemote-1.1.2.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for Flask-CloudflareRemote-1.1.2.tar.gz
Algorithm Hash digest
SHA256 5d47906b4a8d4915b7ee8623f057c195d589f6ad320d8551aac51ce513aa776f
MD5 096d4d035225dfd934c58ee4ced76a81
BLAKE2b-256 159af5df5e2d1b2bdd3f415048df3a3a48d4c81a7395ee863d32dee402864359

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page