我正在试着按照文档中的说明在生产中运行一个类型安全服务器。
我的web服务器正在使用Plesk,因此我创建了api.example.com,并为这个路由安装了一个证书,然后我将托管类型更改为“无宿主”,以便该子域指向服务器并使用以下参数访问类型:
'host' => 'api.example.com', 'port' => '443', 'protocol' => 'https'我为start typesense服务器运行了这个docker命令:
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中生成的证书。
我做错了什么?提前谢谢你
发布于 2022-09-21 08:46:20
解决了,
问题在于plesk配置,而不是SSL本身,我将服务器置于“无宿主”模式,但这不允许我拥有SSL证书,因此我将其放入web托管模式,然后访问"Apache和nginx“设置,配置了以下额外的nginx指令:
location ~ ^/.*{
proxy_pass http://0.0.0.0:8108;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
所以现在我可以通过HTTPS和443端口访问api.example.com。
https://stackoverflow.com/questions/73786200
复制相似问题