Node Version: v8.9.3 Egg Version: v2.0.0
在使用eggjs框架时遇到如下的问题, 我的测试环境 /etc/hosts 10.200.33.33 haha.ttt.com 映射到测试服务器
在代码中controller层向该地址请求数据
ctx.curl('http://haha.ttt.com', opts);
这里url是nginx服务器的域名,因为是测试环境,所以配置了hosts映射,但此时发出的请求,会返回404,
感觉像是nginx反向代理无法生效
直接在环境中使用curl命令去请求域名是可以代理成功的, 但在代码中使用域名就会返回404,和curl直接请求IP是一样的情况,很困惑。。。
如果是 404 的话,有可能是你 nginx 配置错误。 host 没成功的话不应该是 404 而是 timeout 啥的。
可是我直接在shell中用curl命令去调接口是可以通的,两个接口可以被代理到不同的服务器,都能正常返回
你写一个 node http 试试
弱弱的问问楼主,你用的egg-mysql数据库插件吗还是egg-mongoose插件
@zuoyi615 我这边用的是egg-knex
是因为这边为了节省资源,nginx同一个IP端口绑了多个域名,暂时是nginx换了端口,ctx.curl直接请求IP端口解决了
看过Nignx的访问日志没? 适当配置一下nginx日志格式有助于定位是不是nginx问题。