flask架设微信小程序服务器,苹果手机能正常访问,安卓不行(ssl的中间证书问题)

在部署微信小程序时遇到苹果手机能正常访问,但安卓设备无法访问的问题,经排查确认为SSL证书中间证书缺失。通过在线SSL检查工具验证证书完整性和配置。解决方案包括使用包含完整证书链的crt文件或手动合并多个证书。确保所有中间证书到根证书的公钥都在配置中。
摘要由CSDN通过智能技术生成

最近做了一个微信小程序。上线后发现苹果能正常访问服务器,但安卓手机访问时,服务器都没有反应。查阅了国外网站的资料后,发现时ssl证书的中间证书缺失问题。

如果发现有类似问题可以先从检查ssl证书开始:

https://www.myssl.cn/tools/check-server-cert.html

开启你的服务器,在上面网站上输入域名和端口号。如果检查的结果中有任何证书缺失,那么说明是我说的这个原因造成的。

ssl之所以英文叫做keychain,就是因为他其实不只是一个证书,而是一串证书依次证明。最高级的证书叫做根证书(root)的私钥一般放在和互联网隔绝的地方,所以使用这个证书来验证数据非常麻烦。于是通常使用这个证书签发一些中间证书。最终终端,比如像我们使用的证书是由这些中间证书签发的,而不是直接用根证书签发的。但如果我们要完整的验证一段数据,我们必须要有从根证书到终端证书的所有公钥。(大概原理是这样,具体的细节我也没有去穷究)

一般ssl服务商提供的证书会把这一串证书的公钥放到一个crt文件中。而flask只能配置一个crt文件(公钥),一个key文件(私钥)。这种情况下,可以直接把对应文件配置到flask中。很多时候ssh会给你很多种证书文件。你最好找文件名带bundle的那个crt文件。如果实在没有合并后的crt文件,你可以把多个证书的内容复制到一个文件中,参照下面例子。

1_root_bundle.crt 用根证书签发的中间证书

-----BEGIN CERTIFICATE-----
MIIErjCCA5agAwIBAgIQBYAmfwbylVM0jhwYWl7uLjANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0xNzEyMDgxMjI4MjZaFw0yNzEyMDgxMjI4MjZaMHIxCzAJBgNVBAYTAkNO
MSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMR0wGwYDVQQL
ExREb21haW4gVmFsaWRhdGVkIFNTTDEdMBsGA1UEAxMUVHJ1c3RBc2lhIFRMUyBS
U0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgWa9X+ph+wAm8
Yh1Fk1MjKbQ5QwBOOKVaZR/OfCh+F6f93u7vZHGcUU/lvVGgUQnbzJhR1UV2epJa
e+m7cxnXIKdD0/VS9btAgwJszGFvwoqXeaCqFoP71wPmXjjUwLT70+qvX4hdyYfO
JcjeTz5QKtg8zQwxaK9x4JT9CoOmoVdVhEBAiD3DwR5fFgOHDwwGxd
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值