twikoojs / twikoo

💬 一个简洁、安全、免费的静态网站评论系统 | A simple, safe, free comment system.
http://twikoo.js.org
MIT License
1.5k stars 288 forks source link

获取ip错误 #734

Closed MengNianxiaoyao closed 1 month ago

MengNianxiaoyao commented 1 month ago

vercel中,使用了cf的cdn且配置了相应的环境变量,log显示获取ip错误

MengNianxiaoyao commented 1 month ago

log如下

7/30/2024, 4:02:34 PM Twikoo: 获取 IP 错误信息: SyntaxError: Unexpected token ' in JSON at position 1
    at JSON.parse (<anonymous>)
    at getIp (/var/task/node_modules/twikoo-vercel/api/index.js:983:46)
    at module.exports (/var/task/node_modules/twikoo-vercel/api/index.js:71:24)
    at Server.<anonymous> (/opt/rust/nodejs.js:1:10470)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Server.<anonymous> (/opt/rust/nodejs.js:8:3933)
imaegoo commented 1 month ago

TWIKOO_IP_HEADERS 不是一个合法的 JSON,请检查你的 TWIKOO_IP_HEADERS

MengNianxiaoyao commented 1 month ago

TWIKOO_IP_HEADERS 不是一个合法的 JSON

这是按照私有部署的说明填写,直接复制粘贴进环境变量里的

MengNianxiaoyao commented 1 month ago

将变量值改成符合json格式要求的["headers.cf-connecting-ip"],获取出来的ip依旧是cdn的

MengNianxiaoyao commented 1 month ago

经过检查,我个人判断是https://github.com/twikoojs/twikoo/blob/main/src/server/vercel/api/index.js#L980-L989这段函数获取变量以及三目运算有问题