本篇内容为了增加网站的安全性,保护后台登录页(/admin/login)只能被白名单IP访问,非白名单IP只能访问前端页面。
1、默认反向代理配置
server {
listen 80;
server_name _;
location / {
proxy_pass http://localhost:6412;
}
}2、为 /admin 目录添加白名单限制
- 这里需要注意的是,两个location块的顺序是有关系的。
- Nginx在匹配请求URI时会按照配置文件中location块的顺序进行匹配。首先会匹配第一个location块/admin,如果请求的URI与该location块的前缀匹配成功,则会执行该块中的指令。如果匹配失败,则会继续匹配下一个location块,即第二个location块/,如果请求的URI与该location块的前缀匹配成功,则会执行该块中的指令。
- 所以,如果请求的URI以/admin开头,Nginx会执行第一个location块中的指令,即允许IP地址为192.168.3.13的客户端访问,并将请求转发给http://localhost:6412。如果请求的URI不以/admin开头,Nginx会执行第二个location块中的指令,将请求同样转发给http://localhost:6412。
- 总结起来,location块的顺序在Nginx配置文件中是有重要意义的,因为它决定了请求的匹配顺序和执行的指令。
server {
listen 80;
server_name _;
location /admin {
allow 192.168.3.13;
deny all;
proxy_pass http://localhost:6412;
}
location / {
proxy_pass http://localhost:6412;
}
}3、验证访问
使用 192.168.3.13 主机访问站点能正常显示
使用其他IP主机访问站点提示 403 访问拒绝
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。