部署托管/Configuration/Configuration_examples
配置 n8n 使用您自己的证书颁发机构或自签名证书#
您可以将自定义的证书颁发机构(Certificate Authority, CA)或自签名证书添加到 n8n 中。这意味着您可以选择性地信任特定的 SSL 证书,而不是信任所有无效证书——后者存在潜在的安全风险。 从版本 1.42.0 起引入 此功能在版本 1.42.0 及以上版本中可用。
要使用此功能,您需要将证书文件放入一个目录,并将该目录挂载到容器内的 /opt/custom-certificates 路径下。映射到 /opt/custom-certificates 的外部路径必须对容器具有写权限。
Docker#
以下示例假设您有一个名为 pki 的文件夹,其中包含您的证书,该文件夹位于执行命令的当前目录下,或与您的 Docker Compose 文件同级。
Docker CLI#
使用命令行时,可以通过 -v 参数挂载卷:
docker \
-v ./pki:/opt/custom-certificates \
-p 5678:5678 \
--name n8n \
docker.n8n.io/n8nio/n8nDocker Compose#
name: n8n
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
ports:
- 5678:5678
volumes:
- ./pki:/opt/custom-certificates您还应在容器运行后为导入的证书设置正确的权限(假设容器名称为 n8n):
docker exec n8n chown -R 1000:1000 /opt/custom-certificates自定义信任库的证书要求#
支持的证书类型:
- 根 CA 证书(Root CA Certificates):由证书颁发机构签发的证书,用于签署其他证书。信任此类 CA 后,所有由其签发的证书都将被自动信任。
- 自签名证书(Self-Signed Certificates):服务器自行创建并签名的证书。信任此类证书后,仅会接受来自该特定服务器的连接。
必须使用 PEM 格式:
- 基于文本的格式,包含
BEGIN/END标记 - 支持的文件扩展名:
.pem、.crt、.cer - 仅需包含公钥证书(无需私钥)
例如:
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAKoK/heBjcOuMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
[base64 encoded data]
-----END CERTIFICATE-----
---|---
系统不接受以下格式的文件:
* DER/二进制格式文件
* PKCS#7 (.p7b) 文件
* PKCS#12 (.pfx, .p12) 文件
* 私钥文件(private key files)
* 请在使用前将这些格式转换为 PEM 格式。