You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Dash表格无法显示且出现INET_E_RESOURCE_NOT_FOUND错误的解决办法

解决Dash HTTPS本地服务无法访问的问题

我之前也碰到过类似的情况,给你几个实用的排查和解决方向:

1. 先验证HTTP服务是否正常

首先先排除Dash本身的运行问题,把代码里的ssl_context='adhoc'去掉,改成普通HTTP启动:

if __name__ == '__main__':
    app.run_server(debug=True)

然后访问http://127.0.0.1:8050,如果能正常打开页面,说明问题完全出在HTTPS证书的信任机制上;如果还是打不开,那要先排查本地端口占用、防火墙拦截的基础问题。

2. 处理自签名证书的浏览器信任

ssl_context='adhoc'生成的是临时自签名证书,很多浏览器(尤其是Edge、IE)会直接拦截,哪怕你把127.0.0.1加入可信站点也没用。你可以试试:

  • 当浏览器显示无法访问时,找到页面里的高级选项(比如Edge里需要点击右上角三点,或直接在地址栏输入edge://flags/#allow-insecure-localhost,启用「允许不安全的localhost」开关)
  • 手动导入临时证书到浏览器的受信任根证书:
    1. 打开Chrome/Edge,输入chrome://settings/certificates(Edge对应edge://settings/certificates
    2. 切换到「受信任的根证书颁发机构」标签,点击「导入」
    3. 找到Dash生成的临时证书(通常在系统临时目录,或者直接用下面的方法生成固定证书更方便)

3. 手动生成并指定固定证书

adhoc的临时证书兼容性较差,建议自己生成一个长期有效的自签名证书:
用OpenSSL命令生成(没装OpenSSL的话先安装):

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

然后修改代码里的ssl_context参数:

if __name__ == '__main__':
    app.run_server(debug=True, ssl_context=('cert.pem', 'key.pem'))

把生成的cert.pem导入浏览器的受信任根证书,再访问https://127.0.0.1:8050,大概率能解决问题。

4. 排查网络环境问题

  • 防火墙拦截:临时关闭本地防火墙(仅测试用),看能否访问;如果可以,就给8050端口的HTTPS连接添加防火墙允许规则。
  • 代理冲突:如果你用了全局代理,把127.0.0.1localhost加入代理的例外列表,避免代理拦截本地请求。
  • 换地址访问:试试用https://localhost:8050代替https://127.0.0.1:8050,有些浏览器对localhost的证书信任策略更宽松。

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

火山引擎 最新活动