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