flask支持https失败了

问题遇到的现象和发生背景

微信小程序开发,接口需要是https的备案域名。
域名已经申请好,icp备案也做完了。
我是用python flask搭的系统,之前是http的。
卡在https 了, 找了几个教程 ,没弄出来,求手把手解决

服务器:阿里云centos 8.1
python 3.8.3
flask:1.1.2

问题相关代码,请勿粘贴截图

注释中是尝试过的代码,没成功


if __name__ == '__main__':
    # app.run(host='0.0.0.0', port=8080, debug=True, ssl_context=('guidaonongye.com_ca.crt', 'guidaonongye.com.key'))
    app.run(host='0.0.0.0', port=8080, debug=True)

运行结果及报错内容
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/werkzeug/serving.py", line 957, in inner
    srv = make_server(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/werkzeug/serving.py", line 789, in make_server
    return ThreadedWSGIServer(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/werkzeug/serving.py", line 709, in __init__
    ssl_context = load_ssl_context(*ssl_context)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/werkzeug/serving.py", line 602, in load_ssl_context
    ctx.load_cert_chain(cert_file, pkey_file)
ssl.SSLError: [X509: KEY_VALUES_MISMATCH] key values mismatch (_ssl.c:4012)


我的解答思路和尝试过的方法

这个是站长之家的证书
https://www.bilibili.com/video/BV1P3411h7je?spm_id_from=333.880.my_history.page.click

阿里云的证书也试过,没成功

我想要达到的结果

微信小程序可正常使用该接口

最后需要达到的结果就是微信小程序可以通过https调用这个接口是吧?
可以试一下看下

要弄个ssl证书!

1 需要安装python 的 openssl 的类库,使用pip 安装

pip install pyOpenSSL

2.在 Flask 的代码中可以直接使用

from flask import Flask
app = Flask(__name__)
app.run('0.0.0.0', debug=True, port=8100, ssl_context='adhoc')

以上代码使用 pyOpenSSL 自带证书。 如果要使用自己配置的证书,可以自己配置一个,然后使用。
生成证书:

Generate a private key
openssl genrsa -des3 -out server.key 1024

Generate a CSR
openssl req -new -key server.key -out server.csr

Remove Passphrase from key

cp server.key server.key.org openssl rsa -in server.key.org -out server.key

Generate self signed certificate

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

使用配置证书,证书路径自行修改

from flask import Flask    
app = Flask(__name__)    
app.run('0.0.0.0', debug=True, port=8100, ssl_context=('/Users/kracekumarramaraju/certificates/server.crt', '/Users/kracekumarramaraju/certificates/server.key'))

为什么不使用NGINX转发成https呢?