默认情况下,Nginx 允许直接以 IP 的方式就能直接访问到网站,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的服务器 IP)。这样容易暴露一些服务器上的网站,那么我们怎么设置 Nginx 禁止这些行为呢?
我们可以在nginx的conf.d下的default.conf文件里这样设置:
server { listen 80 default_server; server_name _; return 404; }
对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机,然后直接返回 404。
listen 80 default_server: 指定该 server 配置段为 80 端口的默认主机,即对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机。
server_name _: 此处的_可以换成任意其他无效字符或无效的域名,表示该 server 配置不会被正常访问到。
return 404: 表示直接返回 404 错误。
本帖已被设为精华帖!