使用gunicorn发布https的服务,使用postman测试接口时,报错:
SSL routines::wrong version number
更细节的还有:
Error: write EPROTO 140584080473592:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:…/…/…/…/src/third_party/boringssl/src/ssl/tls_record.cc:242
类似这种情况,gpt对这问题的解释是:1.证书过期,2.SSL/TLS版本不匹配,3.证书私钥配对问题。。。网上也有说访问接口时由https改为http的。。都不能解决问题。
这问题困扰我好几天,后面发现原来是设置私钥的参数不对。
错误:
gunicorn -w 2 --certfile=/xxxxx_bundle.pem --certfile=/xxxx.key server:app -b 0.0.0.0:8000 &
正确:
gunicorn -w 2 --certfile=/xxxxx_bundle.pem --keyfile=/xxxx.key server:app -b 0.0.0.0:8000 &
如果有朋友遇到相同问题,请详细检查参数,以此为戒。