宝塔Nginx模板修改批量配置方法
时间:2026-04-08 17:42:12 167浏览 收藏
本文详解宝塔面板中四种高效、安全的Nginx批量配置方法——修改默认模板并同步、创建命名模板批量绑定、CLI脚本注入配置片段、以及通过include复用外部.conf文件,帮助进阶用户摆脱逐站手动编辑的低效与高错风险,轻松实现HTTPS强制跳转、防盗链、CSP安全头、Gzip优化、CORS跨域、Referer白名单、HSTS等通用规则在数十甚至上百个网站中的统一部署与集中维护,兼顾灵活性、可扩展性与生产环境稳定性。

如果您是宝塔面板的进阶用户,希望在多个网站中统一应用自定义的 Nginx 配置规则(如强制 HTTPS、防盗链、CSP 头、Gzip 压缩优化等),直接逐个编辑站点配置效率低下且易出错。宝塔提供基于模板的批量配置机制,可通过修改默认或自定义 Nginx 模板实现一次性生效。以下是具体操作路径与方法:
一、使用默认站点模板批量覆盖
宝塔将新创建网站的 Nginx 配置依据“默认站点模板”生成。修改该模板后,所有后续新建站点自动继承变更;对已有站点,可通过“一键同步”功能批量重写配置文件,不丢失已添加的 location 块以外的手动配置。
1、登录宝塔面板,进入【网站】→【设置】→【配置模板】→【Nginx】。
2、在右侧列表中找到并点击【默认站点模板】进行编辑。
3、在 server 块内、location / 块上方插入所需指令,例如:
add_header X-Content-Type-Options "nosniff" always;
gzip_vary on;
4、点击【保存】,返回网站列表,勾选多个目标站点,点击【批量操作】→【同步配置到所选网站】。
二、为现有站点创建独立模板并批量绑定
当不同业务线需差异化配置(如 API 站点启用 CORS,静态资源站启用长缓存)时,可建立多个命名模板,并通过命令行或面板界面批量指定站点使用对应模板,避免混用冲突。
1、在【配置模板】→【Nginx】页面点击【添加模板】,输入名称如“API-Template”,选择类型为【网站模板】。
2、在编辑区粘贴完整 server 块结构,确保包含 listen、server_name 占位符(宝塔会自动替换为实际域名),并在适当位置加入:
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET,POST,OPTIONS" always;
3、保存模板后,在网站列表中全选需应用该模板的站点,点击【批量操作】→【更换模板】→ 选择“API-Template” → 【提交】。
三、通过 CLI 脚本批量注入配置片段
对于已部署大量站点且需在不重写整个 server 块的前提下追加特定指令(如统一添加 WAF 规则或日志格式),可利用宝塔内置的 nginx -t 校验机制与 sed 命令,安全地向各站点 conf 文件末尾的 location / 块内插入内容。
1、执行命令进入站点配置目录:
cd /www/server/panel/vhost/nginx/
2、运行以下脚本(以添加统一 Referer 白名单为例):
for conf in *.conf; do sed -i '/location \//a \ \ \ \ if ($http_referer !~ ^(https?://(www\\.)?yourdomain\\.com|https?://yourapi\\.com)/.*$) { return 403; }' "$conf"; done
3、校验全部配置语法:
nginx -t
4、若输出 success,则重载服务:
bt reload
四、利用 include 指令复用外部配置文件
将通用配置(如 SSL 参数、限速规则、安全头)抽离为独立 .conf 文件,再通过 include 引入各站点配置,便于集中维护。此方式支持跨模板复用,且不影响宝塔图形化编辑逻辑。
1、创建共享配置文件:
echo "add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains' always;" > /www/server/panel/vhost/nginx/include/security.conf
2、编辑任一网站配置文件(如 /www/server/panel/vhost/nginx/example.com.conf),在 server 块首行下方插入:
include /www/server/panel/vhost/nginx/include/security.conf;
3、对其他站点重复步骤 2,或结合步骤三的 sed 命令批量注入 include 行。
4、执行 nginx -t && bt reload 完成生效。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
473 收藏
-
277 收藏
-
199 收藏
-
138 收藏
-
128 收藏
-
347 收藏
-
496 收藏
-
376 收藏
-
377 收藏
-
113 收藏
-
391 收藏
-
258 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习