仅 DataPower API Gateway

DataPower API Gateway 配置 Websocket 升级 策略

遵循以下步骤在组合件用户界面中为 DataPower® API Gateway 配置 Websocket Upgrade 策略。

关于此任务

注: 本主题描述 DataPower API Gateway中的 Websocket 升级 策略实现。 如果使用 "DataPower Gateway (v5 compatible),请参阅配置DataPower Gateway的 Websocket 升级策略(与v5兼容)。 有关不同类型网关的更多信息,请参阅 "API Connect网关类型

有关如何在 OpenAPI 源中配置策略的信息,请参阅 websocket-upgrade

过程

  1. 在导航窗格中,单击 导航窗格中的 "开发" 图标 开发,然后选择 API 选项卡
    此时将打开 " 开发 " 页面。
  2. 单击要使用的 API 的标题,或者创建新的 API。
  3. 选择 网关 选项卡,然后单击导航窗格中的 策略
    有关使用 API 的组合件编辑器的更多信息,请参阅 组合件编辑器
  4. 在选用板中查找 Websocket Upgrade 策略,然后将该策略拖到画布上。
  5. 指定以下属性。
    表 1. Websocket 升级 策略属性
    属性标签 必需 描述 数据类型
    职务 False 策略的标题。

    缺省值为 websocket-upgrade

    字符串
    描述 False 对策略的描述。 字符串
    URL 指定要调用的 URL。 字符串
    TLS 概要文件 False 指定用于数据的安全传输的 TLS 概要文件。 字符串
    TIMEOUT False 在端点回复前的等待时间(秒)。

    缺省值为 60

    整数
    遵循重定向 False 指定后端服务器返回 HTTP 状态代码 301 Moved Permanently 时的行为。 如果选中此复选框,那么 invoke 策略会通过进一步调用响应的 Location 头中指定的 URL 来跟随 URL 重定向。 如果取消选中此复选框,那么 invoke 会保存 301 状态码,并且 API 调用会被视为完成。
    注: follow-redirect 属性仅受 DataPower API Gateway支持。 如果您使用的是 DataPower Gateway (v5 compatible) ,那么 invoke 总是会跟随 URL 重定向;该 proxyDataPower API Gateway 不支持)保存 301 状态代码并完成API调用,而无需遵循 URL 重定向。
    布尔型
    用户名 False 用于 HTTP 基本认证的用户名。 字符串
    密码 False 用于 HTTP 基本认证的密码。 字符串
    插入代理头 False 如果选中此复选框,invoke 策略会将 X-Forwarded-ForX-Forwarded-ToX-Forwarded-HostX-Forwarded-Proto 头插入发送至目标 URL 的请求。

    缺省情况下未选中此复选框。

    布尔型
    解码请求参数 False 如果选中此复选框,那么会针对 invoke 策略的目标 URL 上的变量定义引用的任何请求参数进行 URL 解码。

    缺省情况下未选中此复选框。

    布尔型
    查询参数编码 False 如果选中此复选框,那么目标 URL 的查询参数值中的所有“+”字符都将编码为 %2F。

    缺省情况下未选中此复选框。

    布尔型
    头控件 False message.headers 中指定要复制到目标 URL 的头。
    要阻止对头进行复制,请完成以下步骤:
    1. 选择 区块列表
    2. 单击 添加阻止列表
    3. 在显示的空字段中,输入头名称。
    4. 要添加更多头,请重复上述步骤。
    要指定要复制的头,请完成以下步骤:
    1. 选择 允许列表
    2. 单击 添加允许列表
    3. 在显示的空字段中,输入头名称。
    4. 要添加更多头,请重复上述步骤。

    您指定的值采用正则表达式格式。 例如,要指定内容类型头,请输入 ^Content-Type$

    缺省情况下会选中阻止列表,其中不含阻止列表条目,意味着将复制所有头。

    字符串
    参数控件 False 在入局请求中指定要复制到目标 URL 的参数。
    要阻止对参数进行复制,请完成以下步骤:
    1. 选择 区块列表
    2. 单击 添加阻止列表
    3. 在显示的空字段中,输入参数名称。
    4. 要添加更多参数,请重复上述步骤。
    要指定要复制的参数,请完成以下步骤:
    1. 选择 允许列表
    2. 单击 添加允许列表
    3. 在显示的空字段中,输入参数名称。
    4. 要添加更多参数,请重复上述步骤。

    您指定的值采用正则表达式格式。

    例如,如果入局请求为:
    http://apigw/org/sandbox/petstore/base?petid=100&display=detailed
    ,并且指定白名单条目 ^petid$,那么运行时的目标 URL 将为:
    http://myhost/mypath?storeid=3&petid=100

    缺省情况下会选中允许列表,其中不含允许列表条目,意味着复制任何参数。

    字符串
    请求组合件 False 请求处理组合件。 有关在 execute 部分中配置组合件的详细信息,请参阅 execute。 例如:
    request-assembly:
      execute
         .
         .
         .
        policy assembly
         .
         .
         .
    对象
    响应组合件 False 响应处理组合件。 有关在 execute 部分中配置组合件的详细信息,请参阅 execute。 例如:
    response-assembly:
      execute
         .
         .
         .
        policy assembly
         .
         .
         .
    对象
  6. 通过单击 图标 OpenAPI 源图标并完成策略 YAML 的 version 部分来指定策略的版本。 例如:
    execute:
      - websocket-upgrade:
          version: 2.0.0
          title: websocket-upgrade
      ...
    必须为策略指定与您正在使用的网关兼容的版本。 发布 API 时,如果版本与网关不兼容,那么将抛出用于指定可用版本的验证错误。
  7. 单击保存