nginx 处理只能域名访问 ip不可访问(亲测处理方法)

要求:只能我的域名访问我网站

遇到问题(首先我是配置了几个只能域名80访问的,ip却也能访问,)

这个能防止别人域名解析到你的ip引用不必要的问题

一、server_name 设置域名了,正常只有域名才能访问到配置里跳转的端口才对吧

处理方式一:我把之前这个域名设置的配置去了,

结果:用ip直接访问还是可以访问,只是变成另一个域名配置的指向的文件了

我猜想应该是默认是允许ip直接访问的,因为我配置的都是80端口的

查看nginx是否监听全部的80端口

看了一下nginx的安装目录下的nginx.conf(我的是/ets/nginx/nginx.conf)

有这个 listen       [::]:80 default_server; 说明默认监听80不区分域名

把这个注释了, 并且在这里加

server {
    listen 80 default;
    return 500;
    # 防止ip直接访问
}
就能处理http非当前域名下语法了

二、https用ip也能直接访问

注:不能用上面的方法把443直接去处理了

在自己的域名配置中加

 if ($host != $server_name) {
        return 403;
    }

就能处理https下用域名访问到你的网页了以上方法只是本人遇到问题处理的方式,如有更好方式方法欢迎留言讨论

你可能感兴趣的:(nginx日常收集)