📌 本文是「n8n Docker 部署」系列第 五 篇 · 系列目录
反向代理与 HTTPS
- 使用 Nginx/Traefik 等将外部域名指向 n8n
- 在 n8n 配置中将
N8N_PROTOCOL设置为https,并将WEBHOOK_URL改为https://<你的域名>/ - 建议使用自动签发证书(如 Let’s Encrypt)并定期续期
示例 Nginx(仅供参考):
server {
listen 80;
server_name your.domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your.domain.com;
ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
数据库选择
- 生产建议改用 PostgreSQL 以获得更好的性能与可靠性(本笔记以默认 SQLite 起步)
- 迁移到 PostgreSQL 前,请评估数据备份与恢复方案,并参考官方文档配置环境变量
凭据加密
- 为安全起见,建议配置
N8N_ENCRYPTION_KEY(自行生成、妥善保管) - 加密密钥不可泄露,避免写入代码仓库或日志
安全组与防火墙
- 最小暴露原则:仅放行外部访问所需端口(如
443/80/5678) - 内部通信优先使用网桥地址(如
172.17.0.1)而非公网 IP
备份与恢复建议
- 数据卷
~/.n8n定期备份(见“更新与备份.md”) - 执行前先验证备份可恢复性,避免单点失败