nginx禁止代理ip访问,当你不想通过IP地址访问到nginx时,可以通过配置正则表达式匹配 host,遇到IP则返回403状态码,注意 80 和 443 端口需要同时设置。
- http 80 端口配置
# nginx 默认的 80 端口
server {
listen 80 default_server;
listen [::]:80 default_server;
# 禁止IP访问
if ($host ~* ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$) {
return 403;
}
# 其他配置规则...
}
# 你自己的域名的 80 端口
server {
listen 80 yourdomain.com;
# 禁止IP访问
if ($host ~* ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$) {
return 403;
}
# 其他配置规则...
}
- https 443 端口配置
server {
listen 443 ssl;
server_name yourdomain.com
# 禁止IP访问
if ($host ~* ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$) {
return 403;
}
# 其他配置规则...
}