带有 Let's Encrypt 证书的 Python API HTTPS

我有一个 NAS (Synology) 来存放我的一些作品。 有一个 mariadb 数据库、一个 Web 服务器 (nginx) 和用于托管我个人 Python API 的 Docker。

这是一个图形视图:

带有 Let's Encrypt 证书的 Python API HTTPS

如你所见,我还制作了一个使用 python API 的前端(Vue JS)网页。

我想用 HTTPS 保护所有这些。

我成功添加了 Let's Encrypt (LE) 证书,Web 客户端使用它没有问题。

但是 Python API 仅通过 HTTP 提供,在 Web 客户端上会出现此错误:

Mixed Content: The page at 'https://mydomain.fr/' was loaded over HTTPS,but requested an insecure XMLHttpRequest endpoint 'http://mydomain:12345/myroute'. This request has been blocked; the content must be served over HTTPS.

我明白。

所以我希望我的 python API 使用 HTTPS。

我使用 gunicorn 服务器,并尝试了几件事: 添加 ssl_context:

app.run(host='0.0.0.0',ssl_context='adhoc')

添加一些LE给的文件(我不明白我在做什么):

CMD ["gunicorn","--certfile=certificat.pem","--keyfile=cleprivee.key","--ca_certs=ca.cer","-b","0.0.0.0:5000","feed:app"]

但我在这些测试中只得到了“超时”。

对于 api,我是否必须使用与 Web 服务器相同的证书? 我如何“给”它给 api?

cheungdmin19791004 回答:带有 Let's Encrypt 证书的 Python API HTTPS

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2111.html

大家都在问