1、问题描述

有些项目因为安全的需要,客户的Smartbi是通过HTTPS方式对外提供服务,而AIChat默认部署是通过http协议对外提供服务的,在集成过程中会遇到一些异常情况导致无法使用,本文档把常见的集成问题进行梳理。

环境情况介绍如下:

Smartbi应用内网地址https://10.10.101.79:443/smartbi
Smartbi应用外网地址https://www.commaster.org.cn/smartbi
AIChat内网访问地址http://10.10.101.79:9060/aiweb/
网络情况说明10.10.101.79是内网机器,无法联网不能识别www.commaster.org.cn域名
Smartbi服务器URL地址为https://10.10.101.79:443/smartbi

在Smartbi->自然语言配置中可以正常访问到AIChat

在AIChat中进行查询时会提示如下异常

2、问题分析

在AIChat中访问异常,是因为Smartbi服务器URL地址为https://10.10.101.79:443/smartbi ,而https证书绑定的是www.commaster.org.cn域名。

因为安全的原因AIChat在访问时会出现证书不匹配的异常提示。

3、解决方案

3.1 修改Smartbi服务器URL地址

但是因为10.10.101.79这台服务器无法联网,其无法识别www.commaster.org.cn这个域名,所以如果在Smartbi服务器URL地址配置了域名将导致无法访问,需要配置本地hosts解析。

3.2 配置hosts域名解析

10.10.101.79机器上配置hosts解析

#vi /etc/hosts

添加后在Smartbi服务器URL地址配置了域名后可以测试联通正常

3.3 配置AIChat

虽然10.10.101.79机器可以识别域名,但是AIChat的容器还是无法识别传递的域名,导出现一些奇奇怪怪的问题。

修改docker-compose文件所有组件添加下方关键字

extra_hosts:
- "www.commaster.org.cn:10.10.101.79"

例如:

重新启动AIChat,可以正常使用了。