更新时间:2025-12-17
背景信息
当SF-FastGPT以https访问时,使用MCP功能,在MCP解析时,会报错“SSE error: TypeError: fetch failed: self-signed certificate”,因为SF-FastGPT页面访问的证书是自签名的,所有在访问MCP Server时,证书校验会失败。

方案一、使用认证的证书替换apisix的证书
前提条件
有一个经过认证的证书,并且证书的IP SAN中包括对应的IP(SF-FastGPT前端页面访问的IP)
操作步骤
(1)在SF-FastGPT的后台执行如下命令来替换apisix证书
curl http://127.0.0.1:9180/apisix/admin/ssls/0 -H "X-API-KEY: 3bf95e6b3fdb4a3f565ad6963ccb471d" -X PUT -d '{"cert":"'"$(cat xxx.pem)"'","key":"'"$(cat xxx.key)"'","snis":["ske.local.cloud.scp","$IP"]}'
命令参数说明如下:
- IP为SF-FastGPT前端页面访问IP和SF-FastGPT后台主机的IP,两者一样的话,填一个即可。
- pem为证书路径
- key为证书对应的key
方案二、使用自签证书替换apisix的证书
(1)使用如下脚本生成对应的证书
generate-cert.sh.zip ( 0.00M ,下载次数:0)
将上面的脚本保存为 generate-cert.sh,执行如下命令生成对应的自签名证书。
./generate-cert.sh "10.57.2.61"
(2)将apisix的证书替换成新的
执行如下命令
curl http://127.0.0.1:9180/apisix/admin/ssls/0 -H "X-API-KEY: 3bf95e6b3fdb4a3f565ad6963ccb471d" -X PUT -d '{"cert":"'"$(cat xxx.pem)"'","key":"'"$(cat xxx.key)"'","snis":["ske.local.cloud.scp","$IP"]}'
# IP为SF-FastGPT前端页面访问IP和fastgpt后台主机的IP,两者一样的话,填一个即可。
(3)修改fastgpt deployment,使其信任新证书
使用如下命令编辑fastgpt deployment
kubectl edit deploy fastgpt
