使用 Nginx 防止 IP 地址被恶意解析
使用Nginx的目的
使用阿里云ECS云服务器,首先聊聊笔者使用Nginx的背景。
初始化ECS后会生成一个公网IP,默认访问IP地址自动访问80端口,此时通过ip地址可直接访问启动在80端口的服务。
如再把域名解析到当前ip,即可通过域名直接访问80端口的服务。
然后,出现了一个问题:任何人都可以将域名解析到ip地址,也就是说,通过其他域名也可以访问到自己ECS上的服务。至于目的,这种攻击手段未免太光明正大了,应该是想养域名然后售卖(猜测,脑洞够大的大大交流一下)。
避免这种攻击的方式有很多种,参考网上的答案,配置Nginx是最方便快捷的。
大致思路如下,web端服务以非80端口启动(无法直接通过IP地址访问到),Nginx配置一层正向代理,将域名转发到域名+端口。
结果:解析后使用自己的域名可以直接访问,本质上是转发到了ip地址+端口。而其他域名没有配置端口转发,所以会被拦截下来。
使用Nginx的场景有很多,反向代理,负载均衡等等,防止恶意解析只是其中一种。
也许以后或扩展更多Nginx相关的技术经验,但是代码只是一种工具,技术只有在解决了真正的问题才会产生价值,不然就如同纸上谈兵,毫无意义。
之前看到过一篇文章,讲的是两个开发者在讨论技术选择,其中一个人选择了冷门的Lua,另一个人表示不解,为什么不选择热门的技术,更好的性能,更好的开发体验。然而,她的回答是:能解决我们的问题就行了。
我陷入了深思,2019掀起的微服务架构浪潮我也跟了一把,学习了很多新的技术,名词,感觉盆满钵满。然而很难有机会将其运用到实际的项目开发中,高并发,微服务到底是一种技术,还是一种炫耀的资本,解决的是项目中的实际问题还是就业问题。学习无罪,但在学习前我会思考,我会使用它,还是被它所束缚。
就哔哔这么多,以下是在Linux环境下Nginx的常用命令和我复制下来的配置文件(nginx.conf)
常用命令列表
防止恶意解析配置
版权声明: 本文为 InfoQ 作者【Noneplus】的原创文章。
原文链接:【http://xie.infoq.cn/article/33d42bc6a53ac25ea072822e3】。文章转载请联系作者。
评论