
# 配置基于HTTPS/HTTP协议的REST接口
#### 操作场景
在Hive数据仓库的应用开发场景中，业务系统需要通过REST接口与Hive进行交互，执行查询、提交作业等操作。WebHCat为Hive提供了对外可用的REST接口，开源社区版本默认使用HTTP协议实现与Hive的交互。然而，HTTP协议以明文方式传输数据，在网络环境不安全的情况下，可能导致敏感数据（如查询结果、认证信息）被窃取或篡改。如何在保证REST接口可用性的同时，确保数据传输的安全性？MRS Hive支持使用更安全的HTTPS协议，并且可以在HTTP和HTTPS两种协议间自由切换。HTTPS协议通过SSL/TLS加密传输数据，有效防止数据泄露和中间人攻击，适用于对安全性要求较高的生产环境。本文介绍如何配置基于HTTPS/HTTP协议的REST接口。
#### 约束与限制
- 集群已启用Kerberos认证（安全模式）支持HTTPS和HTTP协议。
- 集群未启用Kerberos认证（普通模式）只支持HTTP协议。
- 切换协议后需要重启WebHCat服务，重启期间服务不可用。
 
#### 操作步骤
1. 登录FusionInsight Manager，选择"集群 \> 服务 \> Hive \> 配置 \> 全部配置"。
2. 修改Hive配置： 
   选择"WebHCat（角色） \> 安全"，选择"templeton.protocol.type"参数值为HTTPS或者HTTP，单击"保存"保存配置，根据界面提示操作后，等待配置保存成功。
   
   
3. Hive服务端配置更新后，如果"配置状态"为"配置过期"，则需重启组件以使配置生效。 
   图1修改Hive配置   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002346857772.png "点击放大")
   在Hive服务概览页面，选择"更多 \> 重启服务/滚动重启服务"，验证管理员密码后，等待服务重启成功。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/warning_3.0-zh-cn.png)
   组件重启期间将无法对外提供服务，可能会影响集群的上层业务正常运行，请在业务空闲期或确认操作无影响后再执行本操作。
   
   
**验证操作：**
配置完成后，可通过以下方式验证REST接口是否正常工作：
1. 使用curl命令测试REST接口：
   ```
   curl -k https://WebHCat_IP:WebHCat_Port/templeton/v1/status
   ```
   如果返回JSON格式的状态信息，则表示REST接口配置成功。
   
2. 在Manager的Hive服务页面，查看WebHCat实例状态是否正常。
 
#### 常见问题
- **HTTPS协议连接失败**
  HTTPS连接失败的常见原因包括：客户端未信任服务端证书、证书已过期、端口配置错误等。
  使用curl命令时添加"-k"参数忽略证书验证。确认服务端证书未过期。检查WebHCat端口配置是否正确。
  
- **普通模式无法使用HTTPS**
  集群未启用Kerberos认证（普通模式）时，只支持HTTP协议，不支持HTTPS协议。
  
 
#### 相关文档
- 了解Hive数据操作，请参考[Hive数据存储及加密配置](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_300253.html)。
- 了解Hive常见问题，请参考[Hive常见问题](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1752.html)。
- 了解Hive各角色日志文件说明，请参考[Hive日志介绍](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_0976.html)。
 
