nginx 配置文件 只能通过域名访问 不能通过ip访问
时间: 2024-10-21 18:04:44 浏览: 35
Nginx 禁止IP访问 只允许域名访问
Nginx 配置文件中,通常会使用 `server` 或者 `location` 指令来限制对特定 URL 的访问。如果你想让 Nginx 只接受通过域名而非 IP 地址的请求,可以设置类似下面的配置:
```nginx
server {
listen 80; # 或者 443(HTTPS)
server_name example.com; # 将 "example.com" 替换为你实际的域名
location / {
# 如果访问的是服务器的根目录,这里的处理逻辑...
root /var/www/example.com;
index index.html index.htm;
# 授权或重定向所有非域名访问
if ($remote_addr !~ ^$server_addr$) {
return 403; # 返回禁止访问(默认状态码)
# 或者
rewrite ^(.*)$ http://$host$1 permanent; # 强制重定向到域名
}
}
# ...其他配置...
}
```
在这个例子中,我们设置了监听特定的域名,并在 `location` 规则下检查 `$remote_addr` 是否与服务器地址 `$server_addr` 相同。如果不是,则会返回 403 禁止访问,或者进行重定向。
阅读全文