feat(extension): Firefox 包改为优先供给数据卷里的 AMO 已签名包
正式版 Firefox 要求扩展经 AMO 签名,未签名一律拒绝且报成「插件损坏」。 签名包不进镜像:它是 AMO 针对具体内容生成的产物,提交进仓库会与源码脱节 (改代码就得重新签名)且是二进制。放数据卷可跨部署存活,更新只覆盖一个文件。 数据卷没有时回落镜像内未签名包(开发/调试仍可用)。 实测三条路径(本地 nginx 沙箱,nginx -t + 真实请求): 数据卷有签名包 → SIGNED;数据卷无 → 回落镜像内未签名包;两者都无 → 404。 注:用 root 而非 alias,因为 alias 配 try_files 会把 URI 再拼一次导致 404。
This commit is contained in:
18
nginx.conf
18
nginx.conf
@ -140,6 +140,24 @@ http {
|
||||
rewrite ^ /extension/install.html last;
|
||||
}
|
||||
|
||||
# Firefox 扩展包:优先用数据卷里的 **AMO 已签名包**。
|
||||
# 为什么不直接把签名包打进镜像:签名是 AMO 针对具体内容生成的产物,
|
||||
# 提交进仓库既会与源码版本脱节(改代码就得重新签名),又是二进制。
|
||||
# 放进数据卷则能跨部署存活,需要更新时覆盖这一个文件即可。
|
||||
# 数据卷里没有(还没签名/没上传)时回落到镜像内的未签名包。
|
||||
# 这里用 root 而非 alias:alias 配 try_files 会把 URI 再拼一次,
|
||||
# 实测容易 404。root=/app/data 时 $uri=/extension/navi-firefox.xpi
|
||||
# 正好解析成 /app/data/extension/navi-firefox.xpi。
|
||||
location = /extension/navi-firefox.xpi {
|
||||
root /app/data;
|
||||
try_files $uri @firefox_xpi_image;
|
||||
}
|
||||
|
||||
location @firefox_xpi_image {
|
||||
root /app/dashy;
|
||||
try_files $uri =404;
|
||||
}
|
||||
|
||||
# 容器健康检查(部署脚本与 Docker HEALTHCHECK 使用)
|
||||
location = /healthz {
|
||||
proxy_pass http://127.0.0.1:3005/healthz;
|
||||
|
||||
Reference in New Issue
Block a user