方法很简单很傻瓜, 原理就是服务器上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
便可进入管理后台.