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: |
---|
例如:
重新启动AIChat,可以正常使用了。