如何利用Nginx防止IP地址被恶意解析详解

如何利用Nginx防止IP地址被恶意解析详解,第1张

如何利用Nginx防止IP地址被恶意解析详解

本文的重点是介绍如何使用Nginx避免恶意解析IP地址的相关信息。原文根据示例代码非常详细,对大家学习培训或者应用Nginx有一定的参考价值。和有需要的朋友一起学习学习吧。

应用Nginx的目的地

应用阿里云服务器ECS云主机,先说说Nginx在边肖的应用。

重置ECS后,会形成一个公共ip。默认情况下,访问IP地址设置为自动访问端口80。此时,在端口80启动的服务可以根据IP地址立即访问。

如果域名解析为当前ip,就可以根据域名立即访问80端口的服务项目。

那么,就出现了一个问题:每个人都可以将域名解析到ip地址,换句话说,根据其他域名,也可以访问自己ECS上的服务。出于目的,这种攻击有点光明正大,应该是把域名抬高再卖(猜测,脑洞够宽,可以互相交流)。

有许多方法可以防止这种攻击。根据网上的回答,配备Nginx是最省时省力的。

思路如下:web端服务项目从端口80开始(根据IP地址无法立即访问),Nginx配备一层转发代理,将域名共享到域名的端口号。

结果:解析后,可以立即访问应用程序本身的域名,本质上是共享ip地址的端口号。其他域名没有配置端口转发,所以会被屏蔽。

应用Nginx的场景有很多,比如反向代理、三层交换机,避免恶意解析只是其中之一。

也许以后会开发出很多Nginx相关的技术工作经验,但是编码只是一个特殊的工具,技术性只有解决了现实问题才会有使用价值,否则就一文不值。

曾经看到一篇文章,讲的是两个开发者讨论技术选择,其中一个选择了一个小众的Lua,而另一个对自己为什么不选择流行的技术,更强的特性,更强的开发设计情怀表示怀疑。众所周知,她的回应是:能处理好大家的问题就行。

我深度参与思考2019年开始的分布式架构浪潮,因为我跟着它走,学到了很多新的技术和专有名词,感觉自己很有钱。很难知道还有没有机会应用到具体新项目的开发设计中。分布式系统和微服务架构是一种技术还是一种显眼的资产,是处理新项目中的具体问题还是就业压力。学习培训没有罪,但是在学习培训之前,我可以想一想,我能不能应用它,或者被它束缚。

哔哔声这么多,下面是Linux自然环境下Nginx的常用命令和我复制出来的环境变量(nginx.conf)。

公共命令目录

yuminstallnginx//安裝nginx(centos) //开机自启 systemctlenablenginx systemctldisablenginx //查询nginx情况 systemctlstatusnginx //起动,终止,重新启动 systemctlstartnginx systemctlstopnginx systemctlrestartnginx //重新加载配备 systemctlreloadnginx //环境变量的默认设置部位 /etc/nginx主环境变量nginx.conf

避免恶意解析设备

server{ listen80default_server; server_name_; access_logoff; return444; } #Formoreinformationonconfiguration,see: #*OfficialEnglishDocumentation:http://nginx.org/en/docs/ #*OfficialRussianDocumentation:http://nginx.org/ru/docs/ usernginx; worker_processesauto; error_log/var/log/nginx/error.log; pid/run/nginx.pid; #Loaddynamicmodules.See/usr/share/doc/nginx/README.dynamic. include/usr/share/nginx/modules/*.conf; events{ worker_connections1024; } http{ log_formatmain'$remote_addr-$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"'; access_log/var/log/nginx/access.logmain; sendfileon; tcp_nopushon; tcp_nodelayon; keepalive_timeout65; types_hash_max_size2048; include/etc/nginx/mime.types; default_typeapplication/octet-stream; #Loadmodularconfigurationfilesfromthe/etc/nginx/conf.ddirectory. #Seehttp://nginx.org/en/docs/ngx_core_module.html#include #formoreinformation. include/etc/nginx/conf.d/*.conf; server{ listen80default_server; server_name_; access_logoff; return444; } server{ listen80; server_namewww.zkrun.top; location/{ proxy_passhttp://www.zkrun.top:8080; } error_page404/404.html; location=/40x.html{ } error_page500502503504/50x.html; location=/50x.html{ } } #SettingsforaTLSenabledserver. # #server{ #listen443sslhttp2default_server; #listen[::]:443sslhttp2default_server; #server_name_; #root/usr/share/nginx/html; # #ssl_certificate"/etc/pki/nginx/server.crt"; #ssl_certificate_key"/etc/pki/nginx/private/server.key"; #ssl_session_cacheshared:SSL:1米; #ssl_session_timeout十米; #ssl_ciphersHIGH:!aNULL:!MD5; #ssl_prefer_server_cipherson; # ##Loadconfigurationfilesforthedefaultserverblock. #include/etc/nginx/default.d/*.conf; # #location/{ #} # #error_page404/404.html; #location=/40x.html{ #} # #error_page500502503504/50x.html; #location=/50x.html{ #} #} }

摘要

到目前为止,本文已经详细介绍了如何使用Nginx来避免恶意解析IP地址。有关Nginx避免恶意解析IP地址的大量信息,请搜索之前的文章或再次访问下面的相关文章。期待大家以后有更多的应用!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/774484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存