如何仅用 Django 实现反向代理?

提到反向代理,你会说用 nginx。没错,nginx 是理想的反向代理工具。

但现在条件苛刻,服务器没有 nginx,也没有 root 权限,意味着你无法编译安装 nginx,且只有一个端口 80 开放访问。怎么让这个 80 端口的某一请求转发到其他端口的 http 服务上?

换句话说,不用 nginx,如何让 http://localhost:80/new_req 的请求转发到 http://localhost:9999 的服务上,就像直接访问 http://localhost:9999 一样?

那么,这就需要我们自己实现反向代理的功能。

本文分享如何仅用 Django 实现反向代理。

1、安装轮子

pip install django-revproxy

这个轮子有对应的 whl 文件,非常容易安装成功,且不依赖其他轮子,如果是内网环境,pypi.org 上下载 whl 文件,复制进去 pip 安装一下就可以了。

2、配置

在 Django 的配置文件 settings.py 中的 INSTALLED_APPS 中,添加 ‘revproxy’。

#Add 'revproxy' to INSTALLED_APPS.
INSTALLED_APPS = (
    # ...
    'django.contrib.auth',
    'revproxy',
    # ...
)

然后编写一个视图类,比如

myproxy/views.py:

from revproxy.views import
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值