使用nginx和gunicorn限制在django中通过ip访问管理URL

 Utopia 发布于 2023-01-19 18:31

我试图通过在nginx中使用简单的基于主机的访问控制来限制访问我的django应用程序的管理部分.不幸的是,nginx似乎没有遵守配置请求:

这是我在nginx中特定部分的设置:

# gunicorn setup
location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }


 location /admin/ { # restrict access to admin section
    allow 192.168.0.1;
    deny all;
 }

这仍然会阻止我的IP 192.168.0.1.我究竟做错了什么?有没有其他方法可以阻止访问django应用程序的/ admin /部分?

1 个回答
  • 我通过使用以下内容替换/ admin/location找到了解决此问题的方法:

    location ^~ /admin/ { # restrict access to admin section
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
        allow 192.168.0.1;
        deny all;
    }
    

    我希望这能在互联网上节省一些长时间的搜索.我很感激提供更好解决方案的答案.

    2023-01-19 18:33 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有