因公司需求把登录网址运行在公网上,怕黑客通过暴力破解拿下后台,公司领导下需求,需要访问http://liangzeyu.com/admin 这个地址需要通过vpn访问;
--------------------------------------------------------------------------------------------
在测试某个网站的时候建议先把80和443端口全部都禁止 不允许外网访问;
80和443端口只允许vpn主机访问,配置好后在openvpn主机用curl测试下;
最后的效果就是本地浏览器无法访问,但是在openvpn主机上curl是成功的;
一、先配置vpn可以访问目的网站
修改vpn配置文件,在配置文件添加push
示例:push "route 193.161.32.11 255.255.255.255"
push "route 目的网站公网 255.2555.255.255"
push "route 目的网站内网 255.2555.255.255"
二、然后我们在本地电脑开始连接vpn并查看是否多一了条路由
打开windows cmd,使用route print -4查看路由信息
这是没有添加push的路由信息
添加路由之后
现在查看我们已经多了一条路由了,并通过内网访问成功
三、查看日志是否以VPN得ip访问的
在本地浏览器刷新,到访问的目标主机进行查看日志
现在的ip就是我的vpn的ip去访问的;
四、现在我们可以把被访问的地址的80和443端口全部打开,让所有的主机允许访问
五、在nginx配置deny模块
在nginx配置文件中配置deny访问登录连接只允许vpn的ip访问;
location = /users/sign_in {
allow xxx.xxx.xxx.xxx;
deny all;
}
然后重启nginx;
六、访问测试
在没有连接vpn的情况下出现这种403属于是对的,应为deny模块拦截了;
那我们在连接上vpn试下;
访问成功!
有问题请加博主微信进行沟通!
全部评论