11.4. 参考器过滤
3scale 支持转译器过滤器功能,可用于将应用程序可以访问 API 的 IP 地址或域名列入白名单。API 客户端在 Referrer
标头中指定 referrer 值。RFC 7231 节第 5.5.2 节中描述参考器标头的用途和使用。2请参阅。
要启用 引用器过滤功能进入 [your_API_name] > Integration > Settings,点 Require referrer 过滤 复选框并点 Update Service 。
有权访问您的 API 的开发人员必须配置开发人员门户允许的域/IP 引用器。
在 Admin Portal on the application details 页中,所有属于该服务的应用程序详情页面中会显示一个新的 Referencerer Filters 部分。此处,管理员也可以为此应用程序配置允许参考器标头值的白名单。
您可以为每个应用程序设置最多五个引用者值。
该值只能包含拉字母、数字和特殊字符 *
、.
和 -
。*
可用于通配符值。如果值设为 *
,则允许任何引用器值,因此将绕过引用器检查。
要使 Rerer Filtering 功能正常工作,您必须在服务策略链中启用 APIcast Referrer policy。
当 Require referrer 过滤 功能和 3scale Referencerer 策略 被启用时,授权会按以下方式工作:
- 没有指定推荐过滤器的应用程序通常只使用提供的凭证获得授权。
-
对于设置有引用器过滤器值的应用程序,APIcast 从请求的引用者标头中提取
引用器
值,并将它作为 AuthRep(授权和报告)请求中的引用器
param 发送到 Service Management API。下表显示了针对引用器过滤参数的不同组合的 AuthRep 响应。
referrer 参数通过? | 为应用配置了参考器过滤器? | 引用器参数值 | HTTP 响应 | 响应正文 |
---|---|---|---|---|
是 | 是 | 匹配引用器过滤器 | 200 OK |
|
是 | 否 | 匹配引用器过滤器 | 200 OK |
|
是 | 是 | 不匹配引用器过滤器 | 409 冲突 |
|
是 | 否 | 不匹配引用器过滤器 | 200 OK |
|
是 | 是 |
| 200 OK |
|
是 | 否 |
| 200 OK |
|
否 | 是 | — | 409 冲突 |
|
否 | 否 | — | 200 OK |
|
未经 AuthRep 授权的调用将被 APIcast 拒绝,并显示"Authorization Failed"错误。您可以在服务集成页面上配置确切的状态代码和错误消息。