网站配置
网站配置
1 部署架构:
请依据下面的架构方式布局SamWaf防火墙
1.1 部署在同台服务器(常见)
重要
重要:部署在同台服务器会存在端口:80、443已经占用的情况 ,请在本机或者网站业务不繁忙得时候操作。关于端口修改,请查看常见问题。
1.2 部署在不同服务器
此部署方式适合服务器资源丰富的情况。将SamWaf单独部署在独立服务器,并把域名解析到SamWaf所在服务器即可。 用SamWaf所在的服务器反向代理内网各个服务器,而公网只暴露SamWaf所在服务器。
2 新增可被防火墙保护的网站:
关键配置,配置一次即可随时使用。
2.1 新增网站

网站:
- 只需填写网站的域名部分。注意诸如
https、http前缀以及/等后缀都不需要填入
例如:www.baidu.com,pan.baidu.com
- 只需填写网站的域名部分。注意诸如
端口:
- 输入需要防护的网站端口 http服务的常用端口是80,https服务的常用端口是443(如果已经安装了宝塔、Nginx、IIS等网站服务器需要手工改动端口,以解除成80、443端口的占用。关于端口修改,请查看常见问题。)
加密证书: 1.如果是https需要选择加密证书,80端口不需要 首次需要点击“添加新证书”,新增证书。

新增SSL证书 通常文件名:*.key 内容格式如下:-----BEGIN RSA PRIVATE KEY----- ... 全选复制填写进来- 证书串
通常文件名:*.crt 内容格式如下:-----BEGIN CERTIFICATE----- ... 全选复制填写进来- 从证书夹选择对应证书

选择证书 启动状态: 自动启动:添加后正常提供服务;手工启动,添加后不会占用端口,不提供服务。
来源严格端口: 来源严格端口默认是开启,此时若端口配置为80,则不可通过非80端口来访。若外层还有NGINX、CDN等代理的情况,建议关闭,否则可能无法正常访问。
后端系统类型、后端应用类型: 非必要,可以选择和实际一样,也可以保持默认(后期可能针对后端接入不同做适配处理)
后端域名: 默认同主域名相同(需要加上http或者https协议头);有特例,如果SamWaf配置的前置域名和后置域名不相同,此时需要开启 【是否传递后端域名】才可以正常访问。
后端IP: 如SamWaf与需反代的服务在同一台服务器,填写127.0.0.1。如SamWaf与需反代的服务不在同一台服务器,填写需反代的服务的实际IP。
后端端口: 填写需要反代的服务的对应端口(注意若已按常见问题修改过端口,需要填写修改后端口,如81)
3 负载均衡:
负载均衡支持:权重轮询(WRR),IP Hash
权重轮询(WRR):根据后端服务器的权重,按依次将请求分发给不同的服务器。权值越高的服务器被轮询到的次数(概率)越高。
IP Hash:根据请求的源 IP 地址,使用散列键(Hash Key)从散列表找出对应的服务器,使得相同IP每次访问的服务器是固定的。
3.1 负载均衡配置
点击被防护的网站启动“负载均衡”。
。
3.2 添加后端负载
。
- IP: 填入后端可接入的IP
- 端口: 填入后端可接入的端口
- 权重:填入权重,针对 权重轮询(WRR)模式,可以增加客户访问该服务器的几率。
4 网站密码访问
自v1.3.9-beta.11 已支持网站密码访问, 添加或者编辑网站最后一个选项卡,网站密码访问。 网站密码访问默认关闭,可以自行打开。
4.1 网站密码访问列表

在此查看、添加、编辑、或者删除网站的密码访问用户。
具体访问效果如下:

5.其他配置
5.1 记录日志时排除URL
一行一个日志URL
按前缀匹配:请求 URL 以其中任意一行开头,该次访问就不写入日志。空行会被忽略。
5.2 访问超时设置
自v1.3.9-beta.13 支持自定义设置,默认60s,单位秒,如果填写0则是不限制

6.导出导入
6.1 导出
导出可以导出所有主机信息,如果是首次可以作为初始化的导入模板来源。
6.2 导入
导入主机信息可以有两个选择:
- 导入新增主机编码(适用全新数据)
- 导入保留主机编码(适用老数据数据)

提示
SamWaf是轻量级的防火墙。对于老数据迁移,推荐的方式是关闭服务后,直接拷贝SamWaf安装目录下的所有数据到新服务器即可。
7.同时绑定多个域名
可以支持多个域名一行一个。支持泛域名

8.健康度检测
系统定时每5秒中进行一次健康度查询,如果配置了负载均衡会剔除已经失效的连接。
8.1 支持自定义配置,

- 启用健康检测 也可以手动关闭
- 检测方法 支持GET HEAD,注意HEAD需要确认后端是否支持
- 检测路径 默认为根目录 /
- 预期状态码 200,可以自定义HTTP响应码
- 响应超时时间 5秒
- 连续失败次数 3次
- 连续成功次数 3次
8.2 显示健康度情况

9 网站列表页
进入“网站配置”页面后,可看到所有受保护网站的列表,以及一系列管理操作。
9.1 工具栏按钮
| 按钮 | 说明 |
|---|---|
| 新建防护 | 打开新增网站表单,添加受保护网站 |
| 导出数据 | 将所有网站信息导出为 Excel(可作为导入模板,见第 6 节) |
| 导入数据 | 从 Excel 导入网站信息,支持“导入新增主机编码”/“导入保留主机编码”两种策略(见第 6 节) |
| 一键防护开关 | 一次性修改所有网站的防护状态,可选择 已防护 或 未防护(会弹出二次确认) |
| 批量复制配置 | 将某个源站点的指定配置模块复制到多个目标站点(见 9.4) |
| 批量导入nginx网址 | 跳转到"一键修改"页的"批量导入网址"标签,从 Nginx 配置批量提取站点并添加为被防护主机(见 一键修改) |
右上角支持按 网站 下拉筛选并 查询;表格的网站、主端口、后端 IP、后端端口、备注列还支持列内输入筛选。
9.2 列表展示信息
每行展示:网站(含昵称、SSL 标识、绑定的多域名/多端口)、主端口、统计信息、状态、后端 IP、后端端口、备注、创建时间、操作。
统计信息列实时展示:PV、UV、拦截(今日攻击数)、入/出流量、QPS、连接数。
状态列包含若干开关与标识:
| 项 | 说明 |
|---|---|
| 健康状态 | 后端健康度(开启健康检测后显示正常/异常) |
| 防御状态 | 防护开关,已防护 / 未防护,切换时弹出确认 |
| 启动状态 | 启动开关,自动启动 / 手工启动,切换时弹出确认 |
| 静态服务 | 若开启静态网站,显示“开启”标识 |
| 来源严格端口 | 若关闭来源严格端口,显示对应标识 |
9.3 行操作
每行 操作 列提供:复制(基于该网站快速创建新网站,会清空 SSL 与绑定关系)、编辑、删除(删除后该网站信息与规则将被清空且无法恢复)、SSL证书自动申请。
注意:全局网站只能配置防护状态,不能复制、编辑、删除或申请证书。
9.4 批量复制配置
点击 批量复制配置 后:
- 选择 源站点(已配置的站点)。
- 勾选要复制的 功能模块,当前支持:缓存、响应压缩。
- 在 目标站点 列表中勾选一个或多个站点(可全选),目标站点会自动排除源站点。
- 点击 执行复制,弹窗会显示复制进度,完成后提示成功。
10 引擎自带防护
在新增/编辑网站的“引擎自带防护”选项卡中,可按网站开关各类内置检测:
| 检测项 | 说明 |
|---|---|
| Bot 检测 | 检测是否有伪装的搜索引擎爬虫 |
| Sql 注入检测 | 检测是否存在 SQL 注入 |
| XSS 检测 | 检测是否存在 XSS 攻击 |
| 扫描工具检测 | 检测扫描工具 |
| RCE 检测 | RCE 远程攻击检测 |
| 敏感词检测 | 敏感词检测 |
| 目录穿越检测 | 目录穿越检测 |
| OWASP 集检测 | OWASP 规则集检测 |
| AI 智能检测(测试) | 基于机器学习模型检测异常请求,需先上传模型包并开启全局 AI 开关;建议先用观察模式核对误报再切拦截 |
10.1 仅记录模式
开启“仅记录模式”后,SamWaf 会记录攻击日志但不阻断攻击请求,适合上线初期观察误报。
10.2 IP 提取模式
用于选择如何从请求中提取客户端 IP,该设置会应用于 CC 防护、验证码、IP 白名单等所有功能:
- 网卡模式:直接从网络连接获取客户端 IP(适用于直连场景)。
- 代理模式:从 HTTP 头部(X-Forwarded-For 等)获取真实 IP(适用于使用 CDN、Nginx 等代理的场景)。
10.3 真实IP来源(代理模式加固)
选择 代理模式 后,会出现 真实IP来源 下拉,用于决定如何从请求头安全地提取真实客户端 IP,防止直连攻击者伪造代理头绕过黑名单/白名单。网卡模式下此项被忽略。留空即保持旧行为,存量网站零影响。
选择不同来源后,下拉框下方会实时显示该模式的说明,并展开对应的配置项:
- 默认(兼容,取XFF最左):取
X-Forwarded-For最左的一个 IP。最左值可被客户端伪造、不校验来源。存量网站用它零影响;新站建议改用下面三种加固方式。 - 指定HTTP头:只从你指定的某个头(真实IP头名,如
X-Real-IP/CF-Connecting-IP)取真实 IP。适合确定上游只写这一个头的场景;仍建议配下方 可信代理网段 校验来源。 - XFF按层深/可信代理:按反向代理层数,从
X-Forwarded-For右侧往左数第 N 跳取 IP(nginx 等把真实 IP 追加在右侧)。需填 从右起第N跳 和 可信代理网段;多层自建反代/负载均衡时最准。 - CDN厂商预设:选择 CDN 厂商即自动使用该厂商的真实 IP 头,并用中心库的官方回源段校验来源(伪造无效)。厂商无公开回源段时(如 EdgeOne、阿里云),需先到 CDN回源IP 页配置或拉取回源段,否则来源校验会回退网络层 IP。选中厂商后此处只读展示该厂商中心库的已下载条数与上次更新时间,无需手填。
字段说明
| 字段 | 说明 |
|---|---|
| 真实IP来源 | 决定代理模式下如何提取真实客户端 IP;留空=旧行为(取 XFF 最左,可被伪造)。 |
| 真实IP头名 | “指定HTTP头”模式下,从该请求头取真实 IP。 |
| 从右起第N跳 | “XFF按层深/可信代理”模式下,从 XFF 右侧往左数第 N 个非可信 hop。 |
| 可信代理网段 | CIDR/IP 逗号分隔。仅当直连对端属于此网段(或所选 CDN 厂商回源段)时才信任真实 IP 头,防止伪造。 |
| CDN厂商 | “CDN厂商预设”模式下选择的厂商,决定使用的真实 IP 头与用于来源校验的官方回源段。 |
11 Cookie 安全防护
在网站编辑页的「Cookie 安全」标签页配置。开启后,SamWaf 会在应答方向给后端下发的 Set-Cookie 自动补齐安全属性——缺失才补、绝不覆盖应用已设置的值,并保留原 Cookie 的全部内容(Path / Domain / Max-Age / Expires 等)。在 HTTP 下不会自动添加 Secure,以免 Cookie 失效。
11.1 操作步骤
- 编辑网站,切换到「Cookie 安全」标签页。
- 将「启用 Cookie 安全保护」设为开启(可点击「推荐策略」一键填入建议值)。
- 按需设置 HttpOnly / Secure / SameSite / 排除的 Cookie 名。
- 保存网站配置即可生效。
11.2 字段说明
| 字段 | 说明 |
|---|---|
| 启用 Cookie 安全保护 | 关闭 / 开启。开启后才会处理后端下发的 Set-Cookie。 |
| HttpOnly | 不处理 / 缺失才补。缺少 HttpOnly 时追加,防止脚本读取 Cookie(缓解 XSS 窃取会话)。 |
| Secure | 不处理 / 强制添加 / 仅 HTTPS 时自动添加。HTTP 下添加 Secure 会使 Cookie 失效,故「仅 HTTPS 时自动添加」只在当前请求为 HTTPS 时才追加。 |
| SameSite | 保持原样 / Lax / Strict / None。选择 None 时会自动补 Secure(浏览器要求 SameSite=None 必须配合 Secure)。 |
| 排除的 Cookie 名 | 命中的 Cookie 原样放过、不加固,逗号分隔。适合三方 / SSO 等需要跨站的 Cookie,例如 _ga,sso_token。 |
推荐策略:开启 + HttpOnly「缺失才补」+ Secure「仅 HTTPS 时自动添加」+ SameSite=Lax。
12 CSRF 防护
在网站编辑页的「CSRF 防护」标签页配置。开启后,SamWaf 会对状态变更类请求(POST / PUT / DELETE / PATCH 等)校验请求的 Origin / Referer 来源是否属于本站,来源非本站时判定为跨站请求伪造(CSRF)并拦截。该能力完全在 WAF 侧透明完成,不需要改动后端代码,也不会影响 GET / HEAD 等安全方法。
判定时优先使用 Origin(更可靠);当请求没有 Origin 时再用 Referer 判定。本站域名以及在「绑定多域名」中填写的域名会被自动视为可信来源。
前提
CSRF 防护属于请求检测链的一环,需要该网站的防御处于开启状态才会生效(网站列表中防御为开启)。若网站开启了「仅记录模式」,命中只记录日志、不真正拦截。
12.1 操作步骤
- 编辑网站,切换到「CSRF 防护」标签页。
- 将「启用 CSRF 防护」设为开启(可点击「推荐策略」一键填入建议值)。
- 按需勾选保护的请求方法、填写额外允许来源、设置无来源头时的处理方式与排除路径。
- 保存网站配置即可生效。
也可在「防御」标签页的总览中,直接对「CSRF 防护」「Cookie 安全」做开/关,并点击「配置详情」跳转到对应标签页调整细节。
12.2 字段说明
| 字段 | 说明 |
|---|---|
| 启用 CSRF 防护 | 关闭 / 开启。开启后才会对请求做来源校验。 |
| 保护的请求方法 | 仅对勾选的方法(POST / PUT / DELETE / PATCH)做来源校验;GET / HEAD / OPTIONS 等安全方法不校验。 |
| 额外允许来源 | 本站域名与绑定的多域名会自动允许,此处填写额外可信来源。每行一个,支持 host、scheme://host 或通配 *.example.com。 |
| 无来源头时 | 请求既无 Origin 又无 Referer 时的处理方式:放行(默认)/ 拦截。原生 App、curl、服务端调用常无来源头,默认放行可避免误杀;要求更严格时可改为拦截。 |
| 排除的路径前缀 | 命中前缀的路径不做 CSRF 校验,每行一个。适合 webhook、回调、使用 Token 鉴权的 API 等无浏览器来源头的接口,例如 /api/webhook。 |
推荐策略:开启 + 保护 POST/PUT/DELETE/PATCH + 无来源头时放行,并为 API / webhook 类接口配置排除路径。
13 网页防篡改
在网站编辑页的「网页防篡改」标签页配置。开启后,SamWaf 为你指定的静态页面 URL 学习一份「正确页面」基线(内容哈希 + 正文),之后每次该 URL 的应答都会比对哈希;一旦页面被篡改(源站被黑、文件被改),SamWaf 直接把学习到的正确副本回吐给访客,并告警、记攻击日志。
采用反代响应基线比对,SamWaf 与站点文件不必在同一台机器,远程后端也能防;且不额外回源——反代本就要转发后端,防篡改只是在应答回来时顺手比对一次哈希。反向代理与 SamWaf 自身静态伺服(静态站点服务 / 路径路由静态文件)两种出流量都覆盖。
前提
网页防篡改属于应答处理链的一环,需要该网站的防御处于开启状态才会生效。若网站开启了「仅记录模式」,命中只记录日志、不真正替换。基线正文超过「基线大小上限」的页面不学习、不保护。
只适合逐字节稳定的静态资源
逐字节哈希基线只适合每次返回都完全一致的资源:真静态的 .html / .js / .css / 图片等。若页面正文里嵌了每次请求都变的内容(实时时间、CSRF Token、随机数等),会被误判为篡改,请不要对这类动态页添加保护(或先用「仅告警」观察)。
13.1 操作步骤
- 编辑网站,切换到「网页防篡改」标签页。
- 将「启用网页防篡改」设为开启(可点击「推荐策略」一键填入:开启 + 替换为正确副本 + 1MB 上限)。
- 先保存网站(受保护 URL 规则按网站存储,需网站已存在)。
- 回到「网页防篡改」标签页,在「受保护的 URL」里点「新增受保护 URL」,填精确路径(如
/index.html、/app.js、/logo.png)。 - 保存后,首次有人访问该 URL 时自动学习基线,状态从「待学习」变为「已学习」。
也可在「防御」标签页的总览中,直接对「网页防篡改」做开 / 关,并点「配置详情」跳转到本标签页。
13.2 从页面批量提取受保护 URL
逐条手加太麻烦时,用「从页面提取」自动发现:
- 在「受保护的 URL」上方点「从页面提取」。
- 「选择域名」(下拉是本站主域名 + 绑定的多域名),再填页面路径(默认
/)。 - 点「提取」——SamWaf 通过该网站已配置的后端抓取这个页面,解析出页面里引用的同站 js / css / html / 图片,带类型标签列出。
- 默认全部勾选,可自行增减;按需勾「忽略 URL 参数」;点「添加选中」批量建规则(自动跳过已存在的)。
只抓本站、不访问外部地址
提取只会通过该网站已配置的后端抓取(就是平时代理转发的那个后端),不会访问你填的任意外部地址;也只会列出同站资源,页面里引用的第三方 CDN 地址会被自动丢弃。
13.3 重新学习与批量操作
- 重新学习:你合法更新了页面后内容变了、会被判为篡改,点该行「重新学习」——SamWaf 会立刻从后端重新抓取一次该 URL、当场重建基线(该网站未配置后端时,退回「下次访问时重学」)。
- 批量重新学习 / 全部重新学习:勾选多行后批量重学,或对本站所有受保护 URL 一次性重学(发版后常用)。
- 批量删除:勾选多行后一次性删除。
- 查看基线:查看当前基线的内容类型 / 大小 / 哈希 / 学习时间,文本可展开、图片可预览,并可「下载基线」核对。
- 受保护 URL 列表支持按各列排序与过滤(受保护 URL、规则名称、启用、基线状态等)。
13.4 字段说明
站点级配置
| 字段 | 说明 |
|---|---|
| 启用网页防篡改 | 关闭 / 开启。开启后才会学习并比对受保护 URL。 |
| 命中动作 | 替换为正确副本(推荐)/ 仅告警(监控)。「替换」在比对不一致时回吐基线正确副本给访客并告警、记攻击日志;「仅告警」只告警、仍放行后端页,适合上线初期先观察。 |
| 基线大小上限(KB) | 超过该大小的页面不学习、不保护,默认 1024(1MB)。关键静态页通常几十 KB。 |
受保护 URL 规则
| 字段 | 说明 |
|---|---|
| 受保护 URL | 精确路径匹配,如 /index.html、/app.js;不支持通配 /*、目录、参数。 |
| 规则名称 / 备注 | 便于识别的名称与说明,可选。 |
| 启用 | 停用 / 启用该条规则。 |
| 忽略 URL 参数 | 开启(默认):按路径匹配、忽略 ?v=时间戳 等缓存刷新参数照常比对(静态资源推荐);关闭:带参数的请求直接放行、不比对(内容随参数变化的页面用)。 |
| 基线状态 | 待学习 / 已学习 / 超限未学习。 |
| 大小 / 命中次数 | 基线正文大小 / 累计命中篡改次数。 |
推荐策略:开启 + 命中动作「替换为正确副本」+ 1MB 上限;受保护 URL 只添加真正逐字节稳定的静态资源。
不覆盖服务器文件扫描
本功能防的是「受保护页面的内容被改」,不扫描服务器文件系统、不检测新增文件(如上传的 Webshell),那属于主机型文件防篡改的范畴。
14 文件上传检测
在网站编辑页的「文件上传检测」标签页配置。开启后,SamWaf 对 multipart/form-data 文件上传请求做内容检测,命中危险文件即拦截。四个检测维度可各自独立开关:危险扩展名黑名单、Webshell 内容特征、声明类型与真实内容不符、单文件大小上限。
只检测文件上传请求,其它请求零开销;只处理带文件名的文件字段,普通表单字段由 SQL 注入 / XSS 等检测覆盖。检测过程读取上传内容后会完整放行给后端,正常文件不受影响。
前提
文件上传检测需要该网站的防御处于开启状态才会生效。若网站开启了「仅记录模式」,命中只记录日志、不真正拦截。默认关闭,开启后默认拦截,老网站不受影响。
14.1 操作步骤
- 编辑网站,切换到「文件上传检测」标签页。
- 将「启用文件上传检测」设为开启(可点击「推荐策略」一键填入:四个维度全开 + 内置默认黑名单 + 10MB 上限 + 超限拦截)。
- 按需调整各维度开关、扩展名黑名单、大小上限、只检测/排除路径。
- 保存网站。
也可在「防御」标签页的总览表格中直接对「文件上传检测」做开 / 关,并点「详情」跳转到本标签页。从总览一键开启时,若四个维度当前全部关闭,会自动套用推荐策略(四维全开),避免「总开关开了却什么都不检测」。
14.2 字段说明
| 字段 | 说明 |
|---|---|
| 启用文件上传检测 | 关闭 / 开启。开启后才会对上传请求做检测。 |
| 扩展名黑名单检测 | 开 / 关。命中黑名单的上传文件被拦截。会检查文件名的所有扩展名段(防 shell.php.jpg 双扩展名)并处理空字节绕过。 |
| 危险扩展名黑名单 | 逗号分隔,如 php,jsp,asp,exe;留空则使用内置默认黑名单(php/jsp/asp/exe/sh/bat 等一系列可执行/脚本后缀)。仅在「扩展名黑名单检测」开启时显示。 |
| Webshell 内容特征检测 | 开 / 关。扫描文件头部的 Webshell 特征(PHP/JSP/ASP 脚本标记 + eval/system/Runtime.exec 等危险调用的组合),命中即拦。压缩 JS 里孤立的 eval 等不会误报。 |
| 真实类型检测 | 开 / 关。嗅探文件真实类型:声称是图片、内容却是脚本 / HTML(改扩展名 + 改 Content-Type 伪装图片)时拦截。 |
| 单文件大小上限检测 | 开 / 关。单个文件超过「大小上限」时拦截。 |
| 大小上限(KB) | 单文件大小上限,同时也是请求体的可检测缓冲上限,默认 10240(10MB)。 |
| 超上限动作 | 拦截(推荐)/ 放行不检测。上传体超过可检测上限时的处理。默认「拦截」,防止把恶意文件填大来绕过内容检测;确有大文件上传业务的站点可调大上限或改为「放行不检测」。 |
| 只检测路径 | 每行一个路径前缀;留空 = 所有上传都检测。非空时只对命中这些前缀的上传请求做检测。 |
| 排除路径 | 每行一个路径前缀,命中则跳过检测,优先级高于「只检测路径」。适合可信的内部上传接口。 |
推荐策略:四个维度全开 + 内置默认黑名单 + 10MB 上限 + 超限拦截。
检测范围
仅检测 multipart/form-data 文件上传;base64 内嵌在 JSON 等非标准上传方式不在覆盖范围。Webshell 内容只扫描每个文件的头部(前 64KB),对头部即可识别的一句话木马 / 特征足够。
15 路径路由规则
在网站编辑页的「路径路由」标签页配置。作用类似 Nginx 的 location:同一个网站下,按 URL 路径把不同请求分发到不同去处——可以转发到另一个后端、直接返回本地静态文件、或做重定向。没有命中任何规则的请求,仍按网站原本的后端设置转发。
15.1 操作步骤
- 编辑网站,切换到「路径路由」标签页。
- 点「新建」,填写「匹配路径」和「匹配方式」,选择「目标类型」。
- 根据目标类型填写对应参数(后端代理 / 静态文件 / 重定向)。
- 保存。规则即时生效,无需重启。
优先级与匹配顺序
一个请求可能同时命中多条规则,此时按「优先级」数字从小到大选取(默认 100);数字相同时,精确匹配优先于前缀匹配、更长的路径优先。建议把更具体的规则设更小的优先级数字。
15.2 通用字段
| 字段 | 说明 |
|---|---|
| 网站 | 规则所属网站。 |
| 规则名称 | 规则的名称,同一网站内不可重复。 |
| 匹配路径 | 以 / 开头的 URL 路径。前缀匹配示例 /api/,精确匹配示例 /index.html。 |
| 匹配方式 | 前缀匹配 / 精确匹配 / 正则匹配。 |
| 优先级 | 数字越小优先级越高,默认 100。 |
| 目标类型 | 后端代理 / 静态文件 / 重定向。选择后展开对应参数。 |
| 备注 | 可选说明。 |
15.3 目标类型:后端代理
把命中的请求转发到指定后端。
| 字段 | 说明 |
|---|---|
| 后端协议 | 连接后端使用的协议:自动(跟随客户端) / HTTP / HTTPS。自动表示客户端用 HTTPS 访问则以 HTTPS 回源、HTTP 则以 HTTP 回源;若后端只支持其中一种协议,请显式选择对应项。 |
| 后端主机 | 后端域名,例如 backend.example.com。 |
| 后端端口 | 后端端口。 |
| 后端 IP(可选) | 留空则按后端主机名解析;填写后直接连接该 IP,跳过 DNS 解析。 |
| 响应超时(秒) | 等待后端返回响应头的超时时间。0 = 继承网站的「访问超时」设置;大文件下载或后端启动较慢时可调大。 |
| 记录访问请求 | 默认关闭。开启后,命中该规则的转发请求会记入程序日志(URL、目标地址、状态码、耗时),便于排查请求是否到达后端。 |
| 去掉路径前缀 | 是 / 否。转发时是否去除匹配到的路径前缀,例如匹配 /api/ 后去掉 /api/ 再转发给后端。 |
表单下方有「转发效果预览」,会根据填写内容实时显示「客户端请求」与「实际转发到」两行示例,帮助确认转发效果。
响应超时只管「等首字节」
「响应超时」只限制等待后端开始返回(首字节 / 响应头)的时间,不限制响应体的下载传输时长。因此后端只要及时开始应答,几个 G 的大文件下载多久都不会被这个超时中断;只有后端「憋很久才开口」(如动态打包大文件后才返回)的情况,才需要把该值调大或设为继承网站的无限等待。
路径路由自动支持 WebSocket(ws / wss)
无需任何额外开关。WebSocket 握手本身跑在 HTTP(S) 之上,随「后端协议」一起回源:
- 后端协议选择自动:客户端用
wss://则以 wss 回源、ws://则以 ws 回源; - 后端协议选择HTTPS:以
wss://连接后端; - 后端协议选择HTTP:以
ws://连接后端。
长连接不受「响应超时」限制——该超时只管等响应头,握手(101)瞬时完成后的双向通信不会被它中断。浏览器发起的 ws/wss 默认走 HTTP/1.1 升级,正常无需额外配置。
15.4 目标类型:静态文件
把命中的请求交给 SamWaf 直接返回本地目录里的静态文件。
| 字段 | 说明 |
|---|---|
| 静态文件目录 | 服务器本地目录,例如 /var/www/html,用于提供静态文件访问。 |
| SPA 回退模式 | 开启后,请求路径无对应文件时自动回退到 index.html(适用于 Vue/React Router 的 history 模式)。 |
| 去掉路径前缀 | 是 / 否。同后端代理,转发到静态目录前是否去除匹配前缀。 |
15.5 目标类型:重定向
把命中的请求重定向到另一个 URL。
| 字段 | 说明 |
|---|---|
| 重定向 URL | 重定向目标,例如 https://example.com/new-path。 |
| 重定向状态码 | 302 Found / 301 Moved Permanently,默认 302。 |
16 统一访问认证(站点级)
统一访问认证 是全局功能:开启后,访问任何被 WAF 代理的站点都要先登录一次。本标签用于给单个站点开例外。
页面提示:统一访问认证(Access 模式):开启后,访问本站点必须先通过统一认证。账号在【统一访问认证-访问账号】里维护,全局开关与认证中心在【统一访问认证】配置页。
16.1 本站点策略
| 取值 | 说明 |
|---|---|
| 继承全局 | 跟随系统配置里的总开关(推荐) |
| 强制开启 | 即使全局关闭,本站点也要求登录(适合只保护一个后台) |
| 强制关闭 | 即使全局开启,本站点也直接放行(适合对外公开的站点) |
提示
存量站点默认都是 继承全局,升级后行为不变。
16.2 免认证路径
按路径段匹配,一行一条。用于健康检查、webhook 回调等无法登录的调用方。
填 /api 放行的是这一整棵子树:
| 请求路径 | 结果 |
|---|---|
/api | 放行 |
/api/ | 放行 |
/api/user/list | 放行 |
/apixxx | 不放行 |
结尾写不写斜杠效果一样,/api 与 /api/ 是同一个意思。
提示
放行的是一棵子树,不是所有同前缀的路径——填 /health 不会顺带放行 /healthz,填 /admin 也不会放行 /adminconsole。 证书校验路径 /.well-known/acme-challenge/ 已内置放行,无需填写。
16.3 免认证IP组
命中该 IP组 的来源直接放行,不要求登录。适合内网直连场景;改一次组,所有引用站点同时生效。
16.4 二次验证
继承全局 / 强制 / 豁免。强制时本站点登录必须输入动态验证码(账号需已绑定)。账号级设置优先级高于本项。
16.5 未认证响应
自动判断(推荐):浏览器导航跳登录页,API/WebSocket 返回 401 JSON;一律跳转:强制 302;一律401:全部返回 JSON,适合纯接口站点。
提示
WebSocket 在任何设置下都返回 401,因为它不跟随重定向。
16.6 与网页缓存同时开启的风险
若本站点同时开启了 网页缓存,标签页底部会出现红色警告:
注意:本站点同时开启了网页缓存。缓存键不包含用户身份,可能把某个用户的私有页面缓存后返回给另一个已登录用户。建议关闭网页缓存,或只对静态资源启用缓存。
注意
统一访问认证挡得住未登录的访客,但挡不住已登录用户之间的缓存串号。保护私有内容时,建议关闭该站点的网页缓存,或把缓存规则限定为静态资源。
16.7 字段说明
| 字段 | 说明 |
|---|---|
| 本站点策略 | 继承全局 / 强制开启 / 强制关闭 |
| 免认证路径 | 本站点专属的免认证路径前缀,一行一条 |
| 免认证IP组 | 命中即在本站点放行的 IP 组 |
| 二次验证 | 继承全局 / 强制 / 豁免 |
| 未认证响应 | 继承全局 / 自动判断 / 一律跳转 / 一律401 |
