默認情況下,Nginx 允許直接以 IP 的方式就能直接訪問到網站,或者通過未設置的域名訪問(比如有人把他自己的域名指向了你的服務器 IP)。這樣容易暴露一些服務器上的網站,那么我們怎么設置 Nginx 禁止這些行為呢?
1
2 3 4 5 |
server { listen 80 default_server; server_name _; return 404; } |
對於未綁定的域名指向你的服務器時,匹配不到你配置的虛擬主機域名后,會默認使用這個虛擬主機,然后直接返回 404。
listen 80 default_server
: 指定該 server 配置段為 80 端口的默認主機,即對於未綁定的域名指向你的服務器時,匹配不到你配置的虛擬主機域名后,會默認使用這個虛擬主機。
server_name _
: 此處的_
可以換成任意其他無效字符或無效的域名,表示該 server 配置不會被正常訪問到。
return 404
: 表示直接返回 404 錯誤。