小智ai python服务端websocket接口由ip+端口改成域名访问
4.宝塔--网站--python项目--已经部署的这个项目,,设置--域名管理,,域名对应80端口,,外网映射,开启,,配置文件,配置http反向代理, 主要内容大致如下,6.看项目日志,启动成功,websocket地址是域名,使用测试页面测试websocket,连接成功,具体测试过程和本地一样,这里不做具体演示。现在需要部署到外网,使用域名访问,如,ws://python.xxx.com/xia
·
启动小智ai python服务端显示ws://192.168.3.11:8000/xiaozhi/v1/
现在需要部署到外网,使用域名访问,如,ws://python.xxx.com/xiaozhi/v1/

具体操作:
1.在小智ai python服务端项目目录中的data/.config.yaml中,server: 下,加入domain: python.xxx.com # 替换为你的域名
server:
ip: 0.0.0.0
port: 8000
domain: python.xxx.com # 替换为你的域名

2.在config/config_loader.py中,加入domain的内容,
"domain": config["server"].get("domain", ""),

3.在core/websocket_server.py中加入doamin的内容
domain = server_config.get("domain")
use_ssl = False # 强制不使用SSL
self.logger.bind(tag=TAG).info(
"===domain===" + domain
)
self.logger.bind(tag=TAG).info(
# "Server is running at ws://{}:{}/xiaozhi/v1/", get_local_ip(), port
"Server is running at ws://{}/xiaozhi/v1/", domain
)

4.宝塔--网站--python项目--已经部署的这个项目,,设置--域名管理,,域名对应80端口,,外网映射,开启,,配置文件,配置http反向代理, 主要内容大致如下,
注:不一定是在宝塔中修改以上内容,大概原理差不多,8000的端口在防火墙中放行应该也是要操作的
location /xiaozhi/v1/ {
proxy_pass http://localhost:8000/xiaozhi/v1/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_read_timeout 3600; # 延长超时时间
}




5.启动项目

6.看项目日志,启动成功,websocket地址是域名,使用测试页面测试websocket,连接成功,具体测试过程和本地一样,这里不做具体演示




至此,使用域名访问websocket接口成功。
更多推荐
所有评论(0)