You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Gunicorn/Flask部署HTTPS服务遇ERR_CERT_AUTHORITY_INVALID问题求解

问题描述

我出于测试目的,希望快速通过HTTPS部署基于Flask开发的API,当前使用Gunicorn在443端口部署,执行命令如下:

gunicorn --certfile=server.crt --keyfile=server.key --bind 0.0.0.0:443 wsgi:app

当以HTTPS部署的React应用向该API的某路由发送POST请求时,浏览器控制台报错:

POST https://1.2.3.4/foo net::ERR_CERT_AUTHORITY_INVALID

我的密钥和证书通过以下openssl命令生成:

openssl genrsa -aes128 -out server.key 2048
openssl rsa -in server.key -out server.key
openssl req -new -days 365 -key server.key -out server.csr
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365

请问是否存在无需使用nginx/caddy等反向代理、也无需用户手动信任自签名证书的方案,来解决浏览器抛出的该错误?

解决方案

不存在这样的方案。

浏览器的安全机制要求HTTPS证书必须由**受信任的根证书颁发机构(CA)**签名,否则会直接拦截连接并抛出证书无效的错误。你当前使用的是自签名证书,本身就不在浏览器的信任列表里,而绕过这个限制的途径只有两种:

  • 让用户手动将自签名证书添加到浏览器的信任列表中;
  • 使用受公共CA信任的合法证书(比如Let's Encrypt的免费证书),但这种方式要么需要域名(因为CA不会为裸IP颁发信任证书),要么依然需要配置反向代理或证书管理工具来自动续期,而你明确排除了反向代理的选项。

如果只是纯本地测试场景,可以临时关闭浏览器的安全校验(比如Chrome使用--ignore-certificate-errors启动参数),但这仅适用于个人测试,不能用于面向用户的场景,本质上还是属于手动绕过校验的范畴,并非无需用户操作的方案。

内容的提问来源于stack exchange,提问作者gameveloster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 21:25:24