
# 使用APIG专享版实现WebSocket服务的转发
#### 应用场景
API网关支持WebSocket API，其创建过程和创建HTTP API一致。WebSocket是一种全双工通信协议，建立在单个TCP连接上，允许在客户端和服务器之间进行双向通信。WebSocket的设计旨在解决HTTP协议在实时性和交互性方面的不足。它广泛应用于实时聊天、在线游戏、金融行业的实时数据更新等场景。
#### 约束与限制
- WebSocket API不支持APIG控制台页面中的调试功能。
- WebSocket API受API超时时间的限制，如果当前WebSocket连接空闲时间超过了配置的超时时间，并且没有ping/pong保活，则连接会被自动断开。
 
#### 前提条件
准备一个已做ping/pong保活的WebSocket服务后端。
#### 操作步骤
1. 登录[API网关控制台](https://console.huaweicloud.com/apig2/#/overview)。
2. 根据实际业务在左侧导航栏上方选择实例。
3. 在左侧导航栏选择"API管理 \> API列表"。
4. 单击"创建API \> 创建API"，配置前端信息。 
   表1前端配置 
   | 参数    | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   |:---|:---|
   | API名称 | 填写API名称，例如"API01"。                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 所属分组  | API所属分组，此处默认"DEFAULT"。                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | URL   | - 请求方法：接口调用方式，此处选择"GET"。  - 请求协议：选择API请求协议，此处默认"HTTPS"，对应wss协议。如果选择"HTTP"，对应ws协议。  - 子域名：API分组创建后，系统为分组自动分配一个内部测试用的调试域名，此调试域名每天最多可以访问1000次。  - 路径：接口请求路径。此处填写"/hello"。   |
   | 网关响应  | API网关未能成功处理API请求，从而产生的错误响应。此处默认"default"。                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 安全认证  | 选择API认证方式，此处选择"无认证"。（无认证模式，安全级别低，所有用户均可访问，不推荐在实际业务中使用）                                                                                                                                                                                                                                                                                                                                                                                               |
      
   
   
5. 单击"下一步"，配置后端信息。 
   表2后端配置 
   | 参数       | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 后端服务类型   | 此处选择"HTTP\&HTTPS"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 负载通道     | 此处选择"不使用"负载通道访问后端服务。 WebSocket后端也可以通过负载通道配置，本实践中选择"不使用"负载通道为例进行说明。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | URL      | - 请求方法：接口调用方式，此处选择"GET"。  - 请求协议：选择协议类型，如果后端服务是ws协议类型，此处选择"HTTP"；如果后端服务是wss协议类型，此处选择"HTTPS"。  - 后端服务地址：此处填写WebSocket后端服务地址及端口。  - 路径：后端服务的路径。此处填写"/"。   |
   | 后端超时(ms) | 调整后端超时时间，使其长于ping/pong心跳时间。例如，ping/pong心跳时间为20s，那么超时时间可设置区间为（20000ms，60000ms\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      
   
   
6. 后端信息配置完成后，单击"完成"。
7. API创建完成后，在"API运行"页签中，单击"发布最新版本"，发布API。
8. 使用接口测试工具调用API。 
   本实践通过IP调用DEFAULT分组下的API，输入"wss://IP地址/hello"发送请求即可。其中，IP地址为APIG控制台"实例信息"中的弹性IP地址。
   ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002109102933.png "点击放大")
   
   
 
