MacOS 下 fava 无法打开的问题及解决方案

自打挖财 APP 停止维护之后,我就开始跟着 使用 Beancount 管理家庭财务 也用起了 Beancount 来记账。之前一直也挺顺利,最近换了电脑,在迁移了所有数据之后突然发现 Beancount 配套的 Web 界面工具 Fava 打不开了,浏览器留给我了以下文字:

访问 127.0.0.1 的请求遭到拒绝 您未获授权,无法查看此网页。 HTTP ERROR 403

在重启 Fava 多次无效后,我开始了疯狂的搜索,得到了以下信息:

  1. 以为是浏览器的安全策略导致,因为 fava 本地开启的 web server 只支持 http 而不支持 https,于是鼓捣了半天浏览器的安全策略,然而并没有什么用。

  2. 有些搜索结果中对于 403 错误的解释说是浏览器缓存,这个逻辑我表示怀疑。不过还是抱着试一试的心态尝试了设置 chrome://net-internals/#hsts,结果证实确实并没有什么用

  3. 最后直接冲进 Fava 的 github issue 里查到了这么一个 issue, 里面说 fava 所用的 python 框架是 Flask,而 Flask 的默认开发服务器的监听端口号是 5000,这与最新的 MacOS Monterey 恰恰使用了 5000 作为屏幕共享的端口号。也就是说只要打开了屏幕共享,5000 端口就会被占用,而 fava 就无法再使用该端口了。

解决方案也很简单,在 Mac 的设置中搜索 共享,去除 隔空播放接收器 前面勾选即可。

Share Setting