乐云主机笔记

  • 首页
  • 学习记录
  • 资源下载
  • 新手教程
  • 其他
  • 脚本源码
  • 自用主机
  • 主机优惠
  • 域名优惠
  • 网赚项目

  1. 首页
  2. 学习记录
  3. 正文

(宝塔面板等)如何设置nginx,仅允许中国IP访问/xmlrpc.php防止被滥用发垃圾文章

2025年 11月 13日 9点热度 0人点赞 0条评论
要在宝塔面板中设置 Nginx 仅允许中国 IP 访问 /xmlrpc.php,核心是借助ngx_http_geoip2_module模块搭配 IP 数据库识别 IP 所属国家,再通过站点配置限制访问。以下是详细步骤:

一、安装 geoip2 依赖与模块

该模块是 Nginx 实现国家 IP 识别的关键,需先安装依赖并下载模块源码,操作通过宝塔终端执行:

    1. 安装依赖库:若服务器是 CentOS 系统,执行命令yum install libmaxminddb-devel -y;若为 Ubuntu/Debian 系统,执行apt install libmaxminddb0 libmaxminddb-dev mmdb-bin -y。
    2. 下载模块源码:执行cd /tmp && git clone https://github.com/leev/ngx_http_geoip2_module.git,将模块下载到 /tmp 目录。
    3. 移动模块到固定路径:执行mv /tmp/ngx_http_geoip2_module /usr/local/,方便后续编译调用。
    4. 二、重新编译 Nginx 添加模块

      宝塔默认安装的 Nginx 不含 geoip2 模块,需重新编译集成:

      1. 登录宝塔面板,进入软件商店,找到已安装的 Nginx,点击右侧卸载(卸载仅移除程序,配置文件不会丢失)。
      2. 重新安装 Nginx,安装时点击编译安装,在弹出的编译参数框中添加--add-module=/usr/local/ngx_http_geoip2_module,然后开始安装。
      3. 安装完成后,可通过宝塔终端执行nginx -V,若输出中包含上述模块路径,说明集成成功。
        1. 三、下载中国 IP 数据库

          需要 MMDB 格式的 IP 数据库来识别 IP 所属国家,推荐从 MaxMind 官网获取:

          1. 访问MaxMind 官网注册账号,登录后进入Download Databases。
          2. 下载GeoLite2 Country数据库(免费版),得到 GeoLite2-Country.mmdb 文件。(备用下载2022版)
          3. 在服务器上创建数据库目录,执行mkdir -p /usr/local/nginx/conf/geoip,将下载的 mmdb 文件上传到该目录(可通过宝塔的文件管理功能上传)。
        2. 四、配置站点仅允许中国 IP 访问 /xmlrpc.php

          进入宝塔站点的 Nginx 配置文件,添加 IP 识别和访问限制规则:

          1. 宝塔面板中进入网站,找到目标站点,点击右侧设置,选择配置文件。
          2. 在配置文件的http块内添加数据库关联配置,代码如下:
          3. geoip2 /usr/local/nginx/conf/geoip/GeoLite2-Country.mmdb {
            auto_reload 60m; # 60分钟自动刷新数据库
            $geoip2_metadata_country_build metadata build_epoch;
            $geoip2_data_country_code country iso_code; # 获取国家简称,中国为CN
            }
            map $geoip2_data_country_code $allow_access {
            default 0; # 默认拒绝
            CN 1; # 中国IP标记为允许
            }

 

在server块内添加针对 /xmlrpc.php 的 location 规则,代码如下:

location ~* /xmlrpc.php$ {
if ($allow_access != 1) {
return 403; # 非中国IP返回403禁止访问
}
# 保留原有xmlrpc.php的处理逻辑,如PHP解析配置
fastcgi_pass unix:/tmp/php-cgi-74.sock; # 此处需匹配站点的PHP版本对应的sock路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

    1. 注意,fastcgi_pass 的路径要和站点当前 PHP 版本匹配,可复制配置文件中其他 location 块的对应参数。
  1. 验证配置并生效

    1. 配置完成后点击保存,回到宝塔终端执行nginx -t,检查配置语法是否正确。
    2. 若提示语法正常,执行nginx -s reload重载 Nginx 配置,规则即可生效。
    3. 测试效果:用国内 IP 访问 /xmlrpc.php 可正常响应,用境外 IP 访问则返回 403 错误。
标签: 暂无
最后更新:2025年 11月 13日

wangzhe12588

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

搜一搜
文章目录
  • 一、安装 geoip2 依赖与模块
  • 二、重新编译 Nginx 添加模块
  • 三、下载中国 IP 数据库
  • 四、配置站点仅允许中国 IP 访问 /xmlrpc.php
  • 验证配置并生效

归档

  • 2025 年 11 月
  • 2025 年 10 月
  • 2025 年 9 月
  • 2025 年 8 月
  • 2025 年 7 月
  • 2025 年 6 月
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 7 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 3 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 12 月
  • 2022 年 11 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 8 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 2 月
  • 2021 年 1 月
  • 2020 年 12 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2020 年 8 月
  • 2020 年 7 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月
  • 2020 年 2 月
  • 2020 年 1 月
  • 2019 年 12 月
  • 2019 年 11 月
  • 2019 年 10 月
  • 2019 年 9 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 6 月
  • 2019 年 5 月
  • 2019 年 4 月
  • 2019 年 3 月
  • 2019 年 2 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2018 年 10 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 7 月
  • 2018 年 6 月
  • 2018 年 5 月
  • 2018 年 4 月
  • 2018 年 3 月
  • 2018 年 2 月
  • 2017 年 12 月
  • 2017 年 11 月
  • 2017 年 10 月
  • 2017 年 9 月
  • 2017 年 8 月
  • 2017 年 7 月

分类

  • 主机优惠
  • 其他
  • 域名优惠
  • 学习记录
  • 新手教程
  • 网赚项目
  • 脚本源码
  • 自用主机
  • 资源下载

COPYRIGHT © 2021 Letcloud.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备15031609号-3

粤公网安备(备案中)