snapd 的代理与 snap 应用的代理是两回事
把拉取 snap 的守护进程与运行在这些 snap 内部的应用分开配置。
能正常工作的 snap install 之后出现应用连不上,涉及两类不同的请求主体:
| 失败的操作 | 应排查的配置 |
|---|---|
| 查找、下载或刷新 snap | snapd 的商店访问配置与守护进程环境 |
| 从已安装的应用发起连接 | 该应用自身的网络客户端、沙箱环境、桌面设置与证书存储 |
对 snapd 而言,应使用该安装所支持的接口。来自 HTTP 代理列表的 HTTP 端点,只有在公共商店访问可以使用公共代理时才是候选方案。其 proxy.http 和 proxy.https 选项是特定于产品的;它们是否适用,以及服务环境文件,都必须与已部署的系统相匹配。在运行 snap 命令期间于终端里 export 的环境,并不能替代守护进程的启动环境。
上游的 unit 模板包含环境文件输入,但已安装的路径和现有取值都很关键。在合适的情况下,可以用 systemd drop-in 来提供该环境。加载改动后的 unit 与重建守护进程是两回事。
对于正在运行的 snap 应用,应排查它自身的请求路径。商店访问成功,并不能证明它继承了那些设置,或信任同一套证书。先把失败的操作说清楚,这样应用层面的问题就不会导致反复重启一个本身健康的商店下载守护进程。