配置nginx只允许域名访问,禁止ip访问【图文教程】
平凡也就两个字: 懒和惰;
成功也就两个字: 苦和勤;
优秀也就两个字: 你和我。
跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!
每一篇文章都是心得总结,跟我学习你就是大牛!
配置nginx只允许域名访问,禁止ip访问【图文教程】
1 为什么要禁止ip访问页面呢?
这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被恶意访问,我们可以通过禁止使用ip访问的方法,防止此类事情的发生。
2 两种解决办法
这里介绍修改nginx配置文件(nginx.conf)两种方法,这两种方式只会允许www.test151.com域名访问,其他解析到nginx服务器公网ip的域名是不能访问的!!
注意:nginx的配置文件中建议不要有tab符号,而是老老实实用空格代替!!!
2.1 方法一:添加一个默认server
新加的server(注意是新增,并不是在原有的server基础上修改):
server {
listen 80 default;
server_name _;
return 403;
}
在原来server前面插入上面新加的server配置,原sever配置为:
server {
listen 80;
server_name www.test151.com;
}
配置示例:
2.2 方法二:在server段里添加正则表达式校验
在server段里插入如下正则:
if ($host != 'www.test151.com'){
return 403;
}
server {
listen 80;
server_name www.test151.com;
if ($host != 'www.test151.com'){
return 403;
}
}
配置示例:
设置成功后,就只能用域名访问网站,不能用ip访问了。
3 测试域名和ip访问
3.1 绑定host
绑定host:将www.test151.com和www.test152.com域名解析到nginx的公网IP(114.115.161.154)。
3.2 测试用www.test151.com域名访问nginx
3.3 测试用www.test152.com域名访问nginx
3.4 测试用解析到公网IP的备案域名访问nginx
3.5 测试通过ip访问nginx
以上就实现了nginx只允许某一个域名进行访问,不允许ip或其他绑定到nginx公网ip的域名访问!
如果以上教程对您有帮助,为了不迷路,请关注一下吧~