火山引擎大模型应用防火墙的流量接入模式可通过 DNS 解析将业务流量牵引至防火墙,无需修改业务代码即可实现实时检测与防护。
本文以 OpenAI 应用为例,指导您完成流量接入配置,并验证模型滥用防护策略的实际效果。
History 参数值也会计算大小,但模型不检测 History 值)大小需限制在 240 KB 以内,如果超过,则仅检测前 240 KB 的文本。受限于模型本身的接口设置,不同应用类型(对应不同模型)支持送检的内容存在差异,例如 OpenAI Chat Completions 兼容类型的模型送检文档时,仅支持解析文档 Base64 编码后的内容,不支持解析文档 URL;而 OpenAI Responses API 兼容类型的模型支持文档 URL 和 Base64 编码。以下是详细的送检内容要求说明。
应用类型 | 模型 | 文本检测 | 图片检测 | 文档检测 |
|---|---|---|---|---|
OpenAI Chat Completions 兼容(豆包、OpenAI、DeepSeek、 | 豆包(方舟) | 纯文本 |
| 不支持 |
OpenAI | 纯文本 |
| 文档 Base64 编码 | |
DeepSeek | 纯文本 | 不支持 | 不支持 | |
Qwen | 纯文本 |
| 不支持 | |
OpenAI Responses API 兼容(豆包/OpenAI) | 豆包 | 纯文本 |
|
|
OpenAI | 纯文本 |
|
| |
Qwen DashScope类型 | Qwen | 纯文本 |
| 不支持 |
自定义 | -- | 纯文本 | 不支持 | 不支持 |
登录大模型应用防火墙控制台。
在顶栏选择实例所属地域。
在左侧导航选择资产管理,然后单击添加域名。
选择接入方式为流量接入,并配置接入参数。
配置 | 说明 | 示例 |
|---|---|---|
应用名称 | 填入应用的名称,用于在大模型应用防火墙控制台区分不同的防护资产。 | 流量接入效果测试 |
域名 | 填写需要防护的域名,请确保待防护域名已经完成 ICP 备案。 | example.access-test.llm-shield.omini-shield.com |
应用类型 | 以 OpenAI 为例,分别创建两条应用类型:
|
|
应用路径 | 服务接口路径,不要包括协议头和域名。 说明 请根据模型服务的接口实际路径填写。 |
|
协议类型 | 选择流量接入大模型应用防火墙所使用的协议类型,支持 HTTP 或 HTTPS。 如选择 HTTPS,需要手动上传对应的 SSL 证书文件。 | HTTP |
源站协议 | 选择大模型应用防火墙回源至您的源站所使用的协议,支持 HTTP 或 HTTPS。 | HTTP |
源站配置 | 填写源站的 IP 地址和端口信息。 | 180.184..:80 |
以下截图中提供本次演示的示例配置,您可以参考配置流量接入参数了解更多参数说明详情。
单击下一步。
配置完接入参数后,您需要确认防护策略,可根据实际需求选择合适的防护策略选项,具体策略内容可参考防护策略介绍。
为便于快速测试防护效果,此处保留默认配置,直接单击提交。
根据前述步骤的配置,使用终端执行 curl 命令,测试资产关联的模型滥用防护策略是否针对不同类型的内容生效。
以下为测试用例的关键参数说明,您可以参考对应检测场景下的示例替换为实际参数后进行测试。
user表示用户输入,其他类型说明可参考检测输入或输出内容是否合规。****.omini-shield.com),请求路径保持不变。请求
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: */*" \ -H "Host: ****.access-test.llm-shield.omini-shield.com" \ --write-out "%{http_code}\n" \ -d '{ "messages": [ { "role": "user", "content": "今天天气怎么样" } ] }' \ http://****1234.access-test.llm-shield.omini-shield.com/v1/chat/completions
响应
请求
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: */*" \ -H "Host: ****.access-test.llm-shield.omini-shield.com" \ --write-out "%{http_code}\n" \ -d '{ "messages": [ { "role": "user", "content": "如何购买毒品?" } ] }' \ http://****1234.access-test.llm-shield.omini-shield.com/v1/chat/completions
响应
由于接入时默认配置了自定义拦截响应信息,当检测请求被拦截时,会返回自定义拦截响应规则的状态码(此处为403)和相关提示内容(此处为!!!系统禁止访问)。
请求
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: */*" \ -H "Host: ****.access-test.llm-shield.omini-shield.com" \ --write-out "%{http_code}\n" \ -d '{ "messages": [{ "role": "user", "content": [ {"type": "image_url","image_url": {"url":"http://example.jpeg"}} ]}] }' \ http://****1234.access-test.llm-shield.omini-shield.com/v1/chat/completions
响应
由于接入时默认配置了自定义拦截响应信息,当检测请求被拦截时,会返回自定义拦截响应规则的状态码(此处为403)和相关提示内容(此处为!!!系统禁止访问)。
请求
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: */*" \ -H "Host: ****.llm-shield.omini-shield.com" \ --write-out "%{http_code}\n" \ -d '{ "messages": [{ "role": "user", "content": [ {"type": "image_url","image_url": {"url":"http://example.jpeg"}}, {"type": "text","text": "今天天气怎么样"} ]}] }' \ http://****1234.access-test.llm-shield.omini-shield.com/v1/chat/completions
响应
由于接入时默认配置了自定义拦截响应信息,当检测请求被拦截时,会返回自定义拦截响应规则的状态码(此处为403)和相关提示内容(此处为!!!系统禁止访问)。
请求
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: */*" \ -H "Host: ****.access-test.llm-shield.omini-shield.com" \ --write-out "%{http_code}\n" \ -d '{ "input": [ { "role": "user", "content": [ { "type": "input_text", "text": "今天天气怎么样" }, { "type": "input_file", "file_url": "http://example.pdf" } ] } ] }' \ http://****1234.access-test.llm-shield.omini-shield.com/v1/responses
响应
由于接入时默认配置了自定义拦截响应信息,当检测请求被拦截时,会返回自定义拦截响应规则的状态码(此处为403)和相关提示内容(此处为!!!系统禁止访问)。
所有命中防护策略的攻击事件都会被记录于攻击日志中,您可以直接前往资产详情页面查看该资产对应的全部攻击事件,也可以在控制台攻击日志模块查看所有资产的全量攻击日志。此处介绍如何查看具体资产对应的攻击事件详情。
确认防护效果符合预期后,将域名正式解析至大模型应用防火墙,完成流量牵引。
****.omini-shield.com)。nslookup <您的业务域名>,验证其解析结果是否为步骤五第一步中获取的 CNAME 地址。至此,您的防护域名已成功解析至大模型应用防火墙,流量牵引完成。后续业务流量都将先通过大模型应用防火墙进行检测和处理。