Rock笔记
~/rocknotes/articles/391.md article
// article · linux

nginx 设置未绑定域名禁止访问、禁止 IP 直接访问

默认情况下,Nginx 允许直接以 IP 的方式就能直接访问到网站,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的服务器 IP)。这样容易暴露一些服务器上的网站,那么我们怎么设置 Nginx 禁止这些行为呢?


我们可以在nginx的conf.d下的default.conf文件里这样设置:

# 禁止HTTP访问
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 403;
}

# 禁止HTTPS访问
server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    server_name _;
    ssl_certificate /path/to/dummy.crt;
    ssl_certificate_key /path/to/dummy.key;
    return 403;
}

对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机,然后直接返回 404。

listen 80 default_server: 指定该 server 配置段为 80 端口的默认主机,即对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机。

server_name _: 此处的_可以换成任意其他无效字符或无效的域名,表示该 server 配置不会被正常访问到。

return 403: 表示直接返回 403 错误。


回复// 0 replies

最新回复 ↓
// 暂无回复

回复功能沿用原详情页:前往原页面参与讨论 →