配置nginx只允许域名访问,禁止ip访问【图文教程】

平凡也就两个字: 懒和惰;
成功也就两个字: 苦和勤;
优秀也就两个字: 你和我。
跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!
关注微信公众号【 IT特靠谱 】,每一篇文章都是心得总结,跟我学习你就是大牛!

配置nginx只允许域名访问,禁止ip访问【图文教程】

 

为什么要禁止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的域名访问!

      如果以上教程对您有帮助,为了不迷路,请关注一下吧~

猜你喜欢

转载自blog.csdn.net/IT_Most/article/details/108784791