所以我有一个Django应用程序,它是我编写的另一个应用程序的后端。我只想从另一个应用程序访问我的Django应用程序,它可能有几个版本(生产、暂存、dev1、dev2)。如何配置我的Django应用程序,使其只接受来自这几个客户端的连接?
如果我很理解你想要控制对Django应用程序的访问,一个选项是添加一个自定义中间件来检查用户的IP,如果不允许,你可以显示错误,或者重定向到其他网站或任何你想要的。
class CheckIPMiddleware(object):
# Check if client IP is allowed
def process_request(self, request):
allowed_ips = ['192.168.1.1', '123.123.123.123', etc...]
ip = request.META.get('REMOTE_ADDR') # Get client IP
if ip not in allowed_ips:
# Here you can raise a 403 Forbidden
# or redirect to any other site/page
# If user is allowed nothing happens
return None
如果这对你有用,你必须记住两件事:
- 按照以下路径向文件添加代码:
your_project/middleware/checkipmiddleware.py
- 编辑您的设置并将
your_project_name.middleware.checkipmiddleware.CheckIPMiddleware
添加到中间件中(在您的设置.py中查找MIDDLEWARE_CLASSES = (...
)