首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

nginx屏蔽域名

基础概念

Nginx 是一个高性能的 HTTP 和反向代理服务器,它也可以作为 IMAP/POP3/SMTP 代理服务器。在 Nginx 中,可以通过配置文件来屏蔽特定的域名。

相关优势

  1. 高性能:Nginx 的设计非常注重性能,能够处理高并发请求。
  2. 灵活性:通过配置文件可以轻松实现各种复杂的路由和访问控制。
  3. 安全性:可以有效地屏蔽恶意域名,保护服务器安全。

类型

  1. 基于域名的访问控制:通过 server_name 指令来匹配域名,并根据匹配结果进行相应的处理。
  2. 基于 IP 的访问控制:通过 allowdeny 指令来控制特定 IP 地址的访问。

应用场景

  1. 屏蔽恶意域名:防止恶意用户通过特定域名访问服务器。
  2. 网站迁移:在网站迁移期间,屏蔽旧域名的访问,引导用户访问新域名。
  3. 访问控制:根据不同的域名设置不同的访问权限。

如何屏蔽域名

假设我们要屏蔽 example.com 域名,可以在 Nginx 配置文件中进行如下配置:

代码语言:txt
复制
server {
    listen 80;
    server_name example.com;

    location / {
        return 403;
    }
}

在这个配置中:

  • listen 80; 表示监听 80 端口。
  • server_name example.com; 表示匹配 example.com 域名。
  • location / { return 403; } 表示对于匹配到的域名,返回 403 Forbidden 状态码。

遇到的问题及解决方法

问题:为什么屏蔽了域名后,仍然可以访问?

原因

  1. 配置文件未生效:可能是因为配置文件未正确加载或重启 Nginx 服务。
  2. 缓存问题:浏览器或代理服务器缓存了旧的请求结果。
  3. DNS 解析问题:DNS 缓存导致域名仍然解析到服务器 IP。

解决方法

  1. 检查配置文件:确保配置文件正确无误,并重启 Nginx 服务。
  2. 检查配置文件:确保配置文件正确无误,并重启 Nginx 服务。
  3. 清除缓存:清除浏览器缓存或代理服务器缓存。
  4. 清除 DNS 缓存:在命令行中清除本地 DNS 缓存。
  5. 清除 DNS 缓存:在命令行中清除本地 DNS 缓存。

问题:如何批量屏蔽多个域名?

解决方法: 可以通过在 server_name 指令中使用通配符或正则表达式来批量屏蔽多个域名。

代码语言:txt
复制
server {
    listen 80;
    server_name ~^(www\.)?(example1\.com|example2\.com)$;

    location / {
        return 403;
    }
}

在这个配置中:

  • ~^(www\.)?(example1\.com|example2\.com)$ 表示匹配 example1.comwww.example1.comexample2.comwww.example2.com 域名。

参考链接

通过以上配置和方法,可以有效地屏蔽特定的域名,提升服务器的安全性和管理效率。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Nginx常用屏蔽规则

Nginx常用屏蔽规则 前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,目前很大一部分网站均使用了Nginx作为WEB服务器,Nginx虽然非常强大,但默认情况下并不能阻挡恶意访问...在开始之前,希望您已经熟悉Nginx常用命令(如停止、重启等操作)及排查nginx错误日志,以免出现问题不知所措。...,反而增加服务器压力,可以直接将其屏蔽。...(php|php5)$ { return 444; } 屏蔽某个IP或IP段 如果网站被恶意灌水或CC攻击,可从网站日志中分析特征IP,将其IP或IP段进行屏蔽。...#屏蔽192.168.5.23这个IP deny 192.168.5.23; #屏蔽192.168.5.* 这个段 /24代表IP地址的掩码为24位(二进制的24个1),即255.255.255.0。

1.5K20
  • nginx 域名绑定 域名nginx 域名绑定 端口

    一、nginx 域名绑定 域名 nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里...一、每个域名一个文件的写法        首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.itblood.com 则在此目录建一个文件...index.php; #默认文件 root /home/www/itblood.com; #网站根目录 include location.conf; #调用其他规则,也可去除 }   然后重起nginx...服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart 二、一个文件多个域名的写法 一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了...home/www/itblood.com; #网站根目录 include location.conf; #调用其他规则,也可去除 error_page 404 /404.html; } nginx

    69.9K73

    Nginx常用屏蔽规则 - 防止垃圾蜘蛛

    前言 Nginx是一个高性能的HTTP和反向代理服务,目前很大一部分网站均使用了Nginx作为WEB服务器,Nginx虽然非常强大,但默认情况下并不能阻挡恶意访问。...在开始之前,希望您已经熟悉Nginx常用命令(如停止、重启等操作)及排查Nginx错误日志,以免出现问题不知所措。...,反而增加服务器压力,可以直接将其屏蔽。...(php|php5)$ {     return 444;} 复制 屏蔽某个IP或IP段 如果网站被恶意灌水或CC攻击,可从网站日志中分析特征IP,将其IP或IP段进行屏蔽。...#屏蔽192.168.5.23这个IPdeny 192.168.5.23;#屏蔽192.168.5.* 这个段 denu 192.168.5.0/24; 复制 说明 再次强调,修改nginx配置之前务必做好备份

    1.3K20

    nginx域名配置

    nginx域名配置是在配置文件中建立多个server配置,在每个server配置中用server_name来对域名信息进行过滤。....com; #网站根目录 include location.conf; #调用其他规则,也可去除 } server { listen 80; server_name www.web2.com; #绑定域名...index.html index.php; #默认文件 root /home/www/web2.com; #网站根目录 include location.conf; #调用其他规则,也可去除 } 以上配置信息就是在一个nginx...配置中最简单的多域名配置方法,关于server_name,nginx官方还提供了很多正则匹配的过滤方式,详情请看nginx官方文档。...注意事项 特别要注意的是,在nginx的配置文件中只有一个server配置的时候,server_name是无效的,也就是说任何域名绑定了这个IP的时候,无论server_name填什么域名,都会匹配到这个唯一的

    6.9K30

    使用Nginx配置文件屏蔽指定请求

    由于工作需要,有几个nginx配置的需求,在这里整理记录一下。 1....屏蔽请求方式,仅允许POST、GET等 当有非我们允许的请求方式访问站点时,定义返回403状态码,示例配置如下: if ($request_method !...404 403 502 503 /error.html location = /error.html { root html; } 这里前提是要自己写好一个错误页面,放到指定的nginx...屏蔽指定url 比如一台nginx提供的多个server_name共用静态资源时,但又有资源仅仅想让某个server_name访问到;又比如程序写的不够合理,当生产环境跑起来时发现有些地址不应该提供到互联网访问...;再或者我们想通过nginx屏蔽掉一些恶意的访问如特殊字符,都可以使用下面示例配置进行指定url的屏蔽跳转到错误页: if ( $request_uri ~* "\.\.

    1.8K40

    nginx (lnmpltmp)域名绑定方法(新增加域名

    一、使用sftp客户端进行修改,(推荐winscp) ①打开 /usr/local/nginx/conf/vhost 如果没有 /vhost 文件夹,则右键空白处选择 “new folder”创建新目录...; ②本地电脑创建一个文件,命名规则是 dutool.com.conf 把“dutool.com”换成你的域名即可;文件内容如下:(看不懂的直接下附件吧,GRD编辑器搞不好空格) server...403; } } #防盗链结束,里面的域名可以换成允许使用图片的域名...wwwlogs/dutool.com.log dutool.com; #访问日志,off 关闭,下面一行则是保存网站日志 } ③把文件上传至/usr/local/nginx.../conf/vhost 目录即可; ④配置完成后,如果需要伪静态,则需要另外配置,不需要的话,直接使用命令重启 nginx ,使域名配置生效: /etc/init.d/nginx restart

    6.2K20

    nginx+tomcat单个域名及多个域名配置

    这类分布式的系统,一般也都会用到nginx来做负载均衡。...nginx做负载均衡的优势网上有很多介绍资料,这里我不再多做介绍。因为有很多系统要部署,涉及到域名、二级域名、多个域名等的部署。...在实际的部署由于对nginx的不够熟悉,遇到过很多坑,其中这种多域名的配置,xxxx.com转发到www.xxxx.com、访问域名转发到tomcat里的项目等,现在先总结一部坑的解决办法。...的基本配置大致就是这样,如果绑定多个域名(不管是一级域名还是二级域名),需配置多个server,你会发现这几个server配置都差不多,主要是更改server_name及proxy_pass指向即可。...如果此时访问域名,你会发现nginx的配置生效了,只是目前显示的是tomcat的默认界面。nginx的配置基本就这样了,接下来对tomcat做些配置的修改。

    5.1K60
    领券