【n8n配置】使用Mac自带Safari启动n8n的docker时提示 “Your n8n server is configured to use a secure cookie”解决方案

解决 n8n “secure cookie” 报错的三种方法

当你运行 n8n 时,可能会遇到如下提示:

Your n8n server is configured to use a secure cookie,
however you are either visiting this via an insecure URL, or using Safari.

这意味着 n8n 启用了安全 Cookie(N8N_SECURE_COOKIE=true),但当前访问不是 HTTPS,或浏览器(如 Safari)拒绝在非安全连接中传输 Cookie。


一、问题原因

n8n 默认要求所有登录 Cookie 通过 HTTPS 传输。
如果你使用的是 http://localhost:5678 或 IP 地址访问,浏览器会拒绝发送 Cookie,从而无法登录。


二、解决方案

方法一:启用 n8n 自带 HTTPS(推荐)

  1. 生成自签名证书:

    mkdir -p ~/n8n/certs
    openssl req -x509 -newkey rsa:4096 -keyout ~/n8n/certs/server.key -out ~/n8n/certs/server.crt -days 365 -nodes -subj "/***=localhost"
    
  2. 修改启动命令:

    docker run -it --rm \
      --name n8n \
      -p 5678:5678 \
      -e N8N_PROTOCOL=https \
      -e N8N_SSL_KEY=/certs/server.key \
      -e N8N_SSL_CERT=/certs/server.crt \
      -v n8n_data:/home/node/.n8n \
      -v ~/n8n/certs:/certs \
      docker.n8n.io/n8nio/n8n
    
  3. 访问地址:

    https://localhost:5678
    

🔒 尽管浏览器会提示“自签名证书不受信任”,但通信是加密的,适合本地开发。


方法二:改用 localhost 或其他浏览器

如果只是本地测试:

  • 使用 http://localhost:5678 而不是 127.0.0.1
  • 或尝试 Chrome / Firefox(Safari 对 Cookie 管理更严格)

方法三:关闭安全 Cookie(仅限本地)

在本地调试时可以关闭安全验证:

export N8N_SECURE_COOKIE=false
n8n start

或在 Docker 中:

-e N8N_SECURE_COOKIE=false

⚠️ 不建议在线上环境中禁用此功能。


三、总结

场景 方案 安全性
本地测试 方法三
本地长期使用 方法一
线上部署 使用 Nginx/Caddy 反向代理自动申请 HTTPS 最高

一句话总结:

“secure cookie” 报错的根本原因是未使用 HTTPS。最简单的解决方法是为 n8n 启用自签名证书,让它自己以 HTTPS 方式启动。

转载请说明出处内容投诉
CSS教程网 » 【n8n配置】使用Mac自带Safari启动n8n的docker时提示 “Your n8n server is configured to use a secure cookie”解决方案

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买