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」开关) - 手动导入临时证书到浏览器的受信任根证书:
- 打开Chrome/Edge,输入
chrome://settings/certificates(Edge对应edge://settings/certificates) - 切换到「受信任的根证书颁发机构」标签,点击「导入」
- 找到Dash生成的临时证书(通常在系统临时目录,或者直接用下面的方法生成固定证书更方便)
- 打开Chrome/Edge,输入
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.1和localhost加入代理的例外列表,避免代理拦截本地请求。 - 换地址访问:试试用
https://localhost:8050代替https://127.0.0.1:8050,有些浏览器对localhost的证书信任策略更宽松。
内容的提问来源于stack exchange,提问作者Maths12




