我试图通过在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 /部分?
我通过使用以下内容替换/ 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; }
我希望这能在互联网上节省一些长时间的搜索.我很感激提供更好解决方案的答案.