一键修改
一键修改
功能简介
由于单台服务器同一个 Web 端口(80、443)只能被一个程序占用,若要让 SamWaf 作为前置代理,需要把宝塔 Nginx 占用的 80 端口改为 81、443 端口改为 444。为方便用户部署,SamWaf 提供一键修改宝塔 Web 端口的功能,并记录每次修改历史,支持一键还原。
本页分为两个标签页:
- 端口一键修改:切换宝塔 Nginx 的 80/443 端口(见下,仅 Linux)。
- 批量导入网址:从 Nginx 配置批量提取站点并添加为被防护主机(见文末"批量导入网址"一节)。
"端口一键修改"仅在 Linux 下可使用。
操作步骤
1. 确认宝塔 Nginx 配置路径
页面顶部输入框为"宝塔 Nginx 配置默认路径",默认值为 /www/server/panel/vhost/nginx。如你的环境路径不同,请先修改为实际路径。
2. 执行一键修改
点击"一键修改"按钮,系统会将宝塔 Nginx 配置中的 80 端口改为 81、443 端口改为 444,并在下方列表中生成一条修改记录。
3. 查看修改记录
列表展示每次修改的系统类型、文件路径、是否还原、添加时间。点击"详情"可查看该次修改的原始内容与修改后内容。
4. 还原修改
对于"未还原"状态的记录,点击"还原"并确认后,系统会将文件恢复为修改前的内容(该操作不可撤销)。
5. 删除记录
点击"删除"并确认后即可移除该条修改记录。
字段说明
| 字段 | 说明 |
|---|---|
| 系统类型 | 修改所在的操作系统类型 |
| 文件路径 | 被修改的配置文件路径 |
| 是否还原 | 还原状态:未还原 / 已还原 |
| 添加时间 | 该条修改记录的生成时间 |
| 原始内容 | 修改前的文件内容(详情中查看) |
| 修改后内容 | 修改后的文件内容(详情中查看) |
批量导入网址
在"批量导入网址"标签页,可以把 Nginx 的站点配置批量转换成 SamWaf 的"被防护主机",方便初次接入宝塔等环境时快速添加大量站点。也可在"被防护主机"页面点击"批量导入nginx网址"按钮进入本标签。
本功能只读取并解析配置,不会修改任何 Nginx 文件。
1. 选择配置来源
- 粘贴文本:把 Nginx 的
server { ... }配置粘贴到文本框,可一次粘贴多个 server 块。 - 扫描目录:填写宝塔 Nginx vhost 目录(默认
/www/server/panel/vhost/nginx),系统读取该目录下的.conf文件进行解析。出于安全考虑,扫描目录必须是宝塔 vhost 目录(路径需包含server/panel/vhost),且仅读取.conf文件。
点击"解析"后,每个 server 块会生成一条待添加主机候选。
2. 核对与批量修改
解析结果以表格展示,可勾选需要添加的行,并逐行编辑。表格上方的"批量修改"条可统一设置"上游IP、SSL证书、强制跳HTTPS、启动、备注",点击"应用到选中行"批量套用。
端口与域名映射规则:
- 解析出的
listen端口作为后端上游端口(上游端口),上游 IP 默认127.0.0.1; - SamWaf 对外端口按
http=80 / https=443; - 一个
server_name含多个域名时合并为一个主机:首个作为主域名,其余进入"绑定多域名"; listen ... ssl或含ssl_certificate的站点标记为 HTTPS(对外 443),需在"SSL证书"里绑定一个已配置的证书,否则 443 无证书无法正常提供服务。
3. 添加主机
点击"添加选中主机",系统逐条创建被防护主机,并在"结果"列回显成功或失败原因(如"当前网站和端口已经存在")。完成后可点击"前往被防护主机"查看。
字段说明(批量导入)
| 字段 | 说明 |
|---|---|
| 主域名 | server_name 的首个域名,作为主机域名 |
| 绑定多域名 | server_name 的其余域名,每行一个 |
| SSL | 是否 HTTPS 站点(对外 443) |
| 对外端口 | SamWaf 对外监听端口(http 默认 80 / https 默认 443) |
| 上游IP | 后端真实服务地址,默认 127.0.0.1 |
| 上游端口 | 解析出的 listen 端口(后端服务端口) |
| root | Nginx 站点根目录,仅供参考,不参与代理 |
| 来源文件 | 扫描目录模式下解析来源的 .conf 文件名 |
| 结果 | 添加结果:成功 / 失败原因 |
常见问题
- Windows 下可以使用吗? "端口一键修改"仅支持 Linux;"批量导入网址"的"粘贴文本"方式不限系统。
- 修改后如何恢复原状? 在列表中找到对应"未还原"记录,点击"还原"即可恢复修改前内容。
- 扫描目录报"目录不在允许范围内"? 出于安全限制,扫描目录必须是宝塔 Nginx vhost 目录(路径需包含
server/panel/vhost)。请改用正确的 vhost 目录,或改用"粘贴文本"方式。 - 导入的 HTTPS 站点添加后无法访问? HTTPS 站点对外 443 需要绑定证书。请在批量修改条的"SSL证书"里选择一个已配置的证书后再添加,或添加后在被防护主机中补充证书。
