我正尝试按照文档中的说明在生产环境中运行typesense服务器。
我的Web服务器使用Plesk,所以我创建了api.example.com,并为此路由安装了证书,然后我将主机类型更改为“no hosting”,这样这个子域就指向服务器,并可以使用这些参数访问typesense:
'host' => 'api.example.com', 'port' => '443', 'protocol' => 'https'
我运行这个docker命令来启动typesense服务器:
docker run -p 8108:8108 -v/tmp/data:/data -v/etc/ssl/certs:/certs -v/etc/ssl/private:/private typesense/typesense:0.23.1 --data-dir /data --api-key=xyz --ssl-certificate=/certs/apitypesense.crt --ssl-certificate-key=/certs/apitypesense.key --api-port=443 --enable-cors
但当我尝试索引数据时,收到以下错误:Fatal error: Uncaught Http\Client\Exception\RequestException: SSL: no alternative certificate subject name matches target host name 'api.example.com'
请注意,apitypesense.crt和apitypesense.key是由Plesk中的Let's Encrypt生成的证书。
我做错了什么?先谢谢你
1条答案
按热度按时间wgx48brx1#
已解决,
问题出在plesk的配置上,而不是SSL本身,我把服务器设置为“无主机”模式,但这不允许我拥有SSL证书,所以我把它放回Web主机模式,然后,访问“Apache和nginx”设置,我配置了以下附加的nginx指令:
}
所以现在我可以api.example.com通过HTTPS和443端口访问www.example.com。