feedme安卓客户端连接https提示证书错误

类别:信息技术 作者:ATScore 发布日期:2022年9月27日

file

问题现象

Android客户端访问https出现问题(Trust anchor for certification path not found)

具体而言,是我建了一个ttrss站点,使用https访问,nginx反代的。 浏览器访问正常,但是安卓手机端会报上述错误。ipad的safari访问,也会拒绝访问。

问题原因

网站配置的证书缺少中间证书

问题解决

nginx中将证书替换成fullchain.cer即可

server {
    listen 9999 ssl;

    server_name $youdomain;

    # ssl配置
    ssl_protocols TLSv1.2 TLSv1.3; # tls 1.3要求nginx 1.13.0及以上版本
    ...
    #ssl_certificate /path/to/your/sslcer/$yourdomain.cer;
    ssl_certificate /path/to/your/sslcer/fullchain.cer;
    ssl_certificate_key /path/to/your/sslcer/$yourdomain.key;
    ...

解析

https://www.jianshu.com/p/1a792f87b6fe https://zhuanlan.zhihu.com/p/140060498 在部署HTTPS证书时,不同的服务器我们需要用到不同格式的证书文件 Let's Encrypt颁发的HTTPS证书一般包括以下几个文件:

  • cert.key(PEM格式): 私钥文件
  • cert.cer(PEM格式): 证书文件
  • fullchain.cer(PEM格式):包含证书和中间证书

是了,这里需要使用fullchain.cer而不是cert.cer

这似乎是安卓方面的特别要求