代理
directory-prox的Python项目详细描述
目录代理
拒绝非白名单IP地址的代理。
代理设置上游服务可以检查的Hawk签名头,拒绝没有有效签名的请求。
安装
pip install directory-proxy
用法
代理可以作为独立服务运行,也可以作为与上游服务一起运行的wsgi工作者运行。
wsgi工作人员
代理可以与上游服务在同一个框上运行。在与上游服务相同的框中安装代理,然后运行wsgi工作程序:
DJANGO_SETTINGS_MODULE=directory_proxy.conf.settings \ gunicorn directory_proxy.conf.wsgi --bind 0.0.0.0:$UPSTREAM_PORT
独立服务
如果您无法在与上游服务相同的框上运行wsgi工作器,那么代理可以作为独立服务运行。
配置
设置以下环境变量以配置代理:
Environment variable | Details |
---|---|
IP_RESTRICTOR_ALLOWED_ADMIN_IPS | Allow IP addresses. Command delimited |
IP_RESTRICTOR_ALLOWED_ADMIN_IP_RANGES | Allow IP ranges. Command delimited |
IP_RESTRICTOR_SKIP_CHECK_ENABLED | Skip IP check. Check cookie instead |
IP_RESTRICTOR_SKIP_CHECK_SECRET | Shared secret for checking cookie |
UPSTREAM_DOMAIN | Domain of upstream service |
UPSTREAM_SIGNATURE_SECRET | Hawk shared secret for upstream request |
UPSTREAM_SIGNATURE_SENDER_ID | Hawk sender ID for upstream request |
本地安装
$ git clone https://github.com/uktrade/directory-proxy
$ cd directory-proxy
调试
设置调试环境
$ make debug
运行调试Web服务器
$ make debug_webserver
运行调试测试
$ make debug_test