关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 网站维护 »修改 Nginx 配置使网站只允许特定域名访问

    修改 Nginx 配置使网站只允许特定域名访问

    2026-09-10 00:47:34 出处:IT技术网
    分享

    站长经常在统计后台看到,有许多黑产推广的子域名进行了访问,那如何屏蔽掉它们呢?

    修改 Nginx 配置使其只允许特定域名访问,请按照以下详细步骤操作:

    方案一:使用 server_name 指令(推荐)

    这是最标准且高效的方法,通过配置不同的 server 块来处理不同域名的请求。

    1. 编辑 Nginx 配置文件

      修改配置内容
    2. 在配置文件中添加或修改以下内容:

      # 允许访问的域名配置
      server {
          listen 80;
          server_name yourdomain.com www.yourdomain.com; # 替换为你的允许域名
          
          root /var/www/html;
          index index.html index.htm;
          
          location / {
              try_files $uri $uri/ =404;
          }
      }
      
      # 拒绝其他所有域名的访问
      server {
          listen 80 default_server;
          server_name _; # 匹配所有未指定的域名
          return 403; # 返回禁止访问状态码
      }
      
      
    3. 保存并测试配置

      sudo nginx -t  # 测试配置语法
      
      
    4. 重启 Nginx 服务

      sudo systemctl reload nginx
      
      

    方案二:使用 if 语句(备选)

    如果需要在同一个 server 块内处理,可以使用条件判断:

    server {
        listen 80;
        server_name _; # 匹配所有域名
    
        # 检查请求域名是否在允许列表中
        if ($host !~* ^(yourdomain.com|www.yourdomain.com)$) {
            return 403; # 禁止访问
        }
    
        # 正常配置
        root /var/www/html;
        index index.html index.htm;
        
        location / {
            try_files $uri $uri/ =404;
        }
    }
    
    验证配置是否生效
    1. 使用 curl 测试允许的域名

      curl -I -H "Host: yourdomain.com" http://服务器IP
      # 应返回 200 OK
      
       
    2. 测试不允许的域名

      curl -I -H "Host: otherdomain.com" http://服务器IP
      # 应返回 403 Forbidden
      
       
    3. 检查 Nginx 访问日志

      tail -f /var/log/nginx/access.log
      # 观察不同域名的访问状态
      

    高级配置(HTTPS 支持)

    如果使用 HTTPS,需要修改 SSL 配置:

    server {
        listen 443 ssl;
        server_name yourdomain.com www.yourdomain.com;
        
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
        
        # 其他配置...
    }
    
    server {
        listen 443 ssl default_server;
        server_name _;
        ssl_certificate /etc/nginx/ssl/default.crt; # 需要创建默认证书
        ssl_certificate_key /etc/nginx/ssl/default.key;
        return 403;
    }
    

    注意事项

    1. 修改配置前务必备份原始文件
    2. 每次修改后都要运行 sudo nginx -t 测试语法
    3. 使用 systemctl reload nginx 而非 restart 来避免服务中断
    4. 对于生产环境,建议配合防火墙规则增强安全性
    5. 如果使用 CDN,需要确保 CDN 配置的源站域名正确

    重要提示:方案一(使用多个 server 块)是 Nginx 官方推荐的最佳实践,性能更好且更安全。方案二(使用 if)虽然简单,但在某些复杂配置中可能导致意外行为。

    Nginx 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    DEDECMS织梦v5.7保存当前栏目更改时失败,请检查你的输入资料是否存在问题!

    算力行业有哪些权威的行业网站?

    解决帝国CMS搜索模板不支持灵动标签的方法支持ecms7.5

    2026 年主流人力资源管理系统深度评测:7 大厂商横评,全栈一体化标杆领跑全行业

    WPS Office 原生登陆 Windows on ARM,全链路重构告别模拟时代

    赛富时与雪花发布财报,市场聚焦人工智能对软件行业的影响

    产品力即口碑:WPS for Pad印尼免费总榜第一,获多国用户五星好评

    Windows 11 通过cmd终端wmic命令查看笔记本电脑硬件配置信息

    Java依然优秀的9个理由

    彻底关闭Windows 11自动更新的方法之一:修改注册表,禁止自动更新500年!

    IT头条

    长鑫科技一签能赚多少?五家理财公司“打新”或浮盈近2亿元

    00:15

    Goodram RIVAL和Goodram PRO——波兰制造商推出两个新内存品牌

    23:05

    Cignal AI:到2030年,CPO年部署端口数超3000万个

    15:47

    投资10亿欧元,TikTok在芬兰建设新数据中心

    11:39

    Veeam 2026年数据信任与韧性报告:对从网络事件中恢复的能力充满信心

    11:14

    技术热点

    windows 7系统打开IE浏览器提示“禁用的加载项,网页内容无法显

    SQL Server identity列,美中不足之处

    Android UI控件系列:Toast(提示)

    提高windows7系统运行速度的方法

    修改windows 7系统日志存放路径将其放在指定的位置

    windows 7创建宽带连接的详细图文教程

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。