要求:只能我的域名访问我网站
遇到问题(首先我是配置了几个只能域名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下用域名访问到你的网页了以上方法只是本人遇到问题处理的方式,如有更好方式方法欢迎留言讨论