nginx 禁止IP访问简单实现隐藏管理后台

方法很简单很傻瓜, 原理就是服务器上nginx禁止IP访问, 只允许域名访问, 而nginx配置域名时填上一个外网访问不了的域名, 在需要访问管理后台的本地电脑上更改host为预先设置的域名就可以了.

首先想一个外网访问不了的域名, 假设用 test.com 域名隐藏管理后台.
再假设一下 test.com 是你本来拥有的一个域名, 又不想阻碍你正常访问, 通常可采取二级域名方法. 例如隐藏数据库管理后台的话, 可用 db.test.com. CRM系统的话可用 crm.test.com 等等, 也可用超复杂的二级域名防止别人猜到.
当然这些二级域名最好都是没有DNS解析记录的.


nginx禁止IP访问
修改 nginx.conf, 例如想隐藏数据库管理后台

server {
  listen 80;
  server_name db.test.com;
  ......
}

# 在最后新增一个server, 无法匹配的记录全都返回403
server {
  listen 80 default;
  server_name _;
  return 403;
}

修改成功后重启 nginx 服务


修改本地电脑host

修改需要访问管理后台的电脑host, 通常就公司和家里电脑.
在host文件里追加一条 127.0.0.1 db.test.com
浏览器访问 db.test.com 便可进入管理后台.






你可能感兴趣的:(nginx)