在部署express项目的过程中,由于我的代码有些变化,于是在宝塔面板上我又重新上传了一下我的项目,结果阴差阳错的被nginx反向代理配置不当引起的400错误request header or cokkie is too large和自己代码逻辑问题引起的502 bad gataway给绊倒了。
首先说第一个问题:
(1)400 :request header or cokkie is too large
标记的两处端口号不可以相同,location相当于在做反向代理,如果两处端口号相同,那么就会造成代理死循环,在日志里可以发现,你发送一个请求,可能会有一百个日志,因此会返回400
假设你的域名端口号是4000,项目端口号是3000,在宝塔面板中你应该这样去部署
(1)nginx文件中的server的listen是4000
(2)在node项目管理以及pm2管理器这里放的都是3000
(2)502 bad gataway
查看日志的时候有这么一项错误,一直以为是nginx反向代理的问题,一直在网上查找,才明白其实是自己的服务器断开连接了,nginx将请求已经转接过来了。在宝塔面板的项目终端中通过npm start将项目运行了起来,用postman又发送了一次请求,是由于mysql查询回来的数组是空数组,我有同通过[0].parent_id去查找parent_id,报错说没有parent_id。
connect() failed (111: Connection refused) while connecting to upstream
不过因此也找到一个方法,在宝塔面板上运行项目,查找错误