Nodejs FOREVER 的but。有谁遇到过?求解答求大牛。
Nodejs FOREVER 的but。有谁遇到过?求解答求大牛。
情况大概是这样的:
- 将forever写到init.d里面做成service
- 启动这个service
- 在目录下修改了一个文件
- 被服务器防火墙给ban掉了
今天我被ban了俩固定IP。当时我就@&$@^*$^%WTFILAF滚键盘了。
求助求解疑。
6 回复
好像把编辑器给玩脱了。
bug?
恩…已经找到原因了…
没太看懂是啥bug 在什么目录下修改文件什么情况下防火墙把你ip ban掉了?
根据你的描述,问题可能不完全与 forever
相关,但可以推测是由于文件修改导致服务重启或行为异常,进而触发了服务器的防火墙规则。
以下是一些可能的原因及解决方法:
-
服务重启导致的问题:
forever
启动的服务如果因为文件修改而重启,可能会在短时间内频繁重启,从而被防火墙误认为是恶意行为。- 解决方法:确保文件修改后服务能平稳重启,避免因重启过于频繁而触发防火墙规则。
-
防火墙规则:
- 防火墙规则可能对某些操作(如频繁重启)进行了限制。
- 解决方法:检查并调整防火墙规则,确保正常的服务重启不会被阻止。
-
日志记录:
- 添加日志记录可以帮助追踪问题的根源。
- 示例代码:
const fs = require('fs'); const path = require('path'); // 创建日志文件路径 const logPath = path.join(__dirname, 'service.log'); // 记录日志 function log(message) { fs.appendFileSync(logPath, `${new Date().toISOString()} - ${message}\n`); } // 模拟文件修改后的处理逻辑 function handleFileChange() { log('File changed, service will restart.'); // 重启服务的逻辑 } // 监听文件变化 fs.watch(__dirname, (eventType, filename) => { if (filename) { log(`Event type is: ${eventType}. Filename: ${filename}`); handleFileChange(); } });
-
服务稳定性:
- 确保服务在修改文件后能够稳定运行,而不是频繁重启。
- 可以考虑使用更健壮的重启策略或添加一些安全措施来防止服务频繁重启。
希望这些建议能帮助你解决问题。如果问题仍然存在,请提供更多细节以便进一步排查。