From ac4fd00e28a801378cef649258aa37251b58d57d Mon Sep 17 00:00:00 2001 From: Blizzard Date: Mon, 20 Jul 2026 10:19:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20gateway=20=E6=8C=82=E8=BD=BD?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E8=AF=81=E4=B9=A6=E7=9B=AE?= =?UTF-8?q?=E5=BD=95(=E5=AE=B9=E5=99=A8=E8=AF=BB=E4=B8=8D=E5=88=B0?= =?UTF-8?q?=E5=AE=BF=E4=B8=BB=E6=9C=BA=E8=B7=AF=E5=BE=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 证书在 132 宿主机 /home/workspace/wechat-pay-cert,但 gateway 跑在容器里、没挂任何卷, LoadPrivateKeyWithPath 直接读磁盘 → 路径不存在 → 商户私钥加载失败、微信渠道隐藏。 只读挂进 gateway(只有它碰支付,dispatcher/mcp-* 不用): /home/workspace/wechat-pay-cert → /etc/sundynix/wechat-cert (ro) ⚠️ admin「系统配置 → 支付」里填的必须是**容器内路径** /etc/sundynix/wechat-cert/xxx.pem, 填宿主机路径会失败。私钥不进镜像、不进 git。部署时 compose 变更会让 up -d 重建容器生效。 Co-Authored-By: Claude Opus 4.8 --- deploy/132-app/docker-compose.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/deploy/132-app/docker-compose.yml b/deploy/132-app/docker-compose.yml index a78aef4..9ea2444 100644 --- a/deploy/132-app/docker-compose.yml +++ b/deploy/132-app/docker-compose.yml @@ -32,6 +32,11 @@ services: CORS_ALLOW_ORIGIN: ${CORS_ALLOW_ORIGIN:-*} OTEL_EXPORTER_OTLP_ENDPOINT: http://192.168.100.128:4318 ports: ["3000:8080"] # frp 外网 → 132:3000 → 容器 8080 + volumes: + # 微信支付证书(商户私钥 + 微信支付公钥):宿主机 132 的目录只读挂进容器。 + # ⚠️ admin「系统配置 → 支付」里填的路径必须是**容器内路径**(/etc/sundynix/wechat-cert/...), + # 不是宿主机路径——容器看不到宿主机的 /home/workspace/...。私钥不进镜像、不进 git。 + - /home/workspace/wechat-pay-cert:/etc/sundynix/wechat-cert:ro dispatcher: build: { context: ../.., dockerfile: sundynix-dispatcher/Dockerfile }