2015-12-07 61 views
0

我为一个网站设置了nginx,我希望它能够路由到3个位置 - 主要的前端服务器,api服务器和wordpress博客服务器。我可以让它为前端服务器和wordpress工作,但上游api服务器在通过前端访问API时始终给出404。 wordpress运行在端口8080上,而2个NodeJS服务器运行在8015 & 8016。点击mysite.com8015上的前端服务器显示了UI,但在端口8016上调用登录API时,它会引发404错误。 mysite.com/blog显示了重写URL来mysite.com:8080nginx上游配置总是返回404

nginx的配置后Worpress博客给出:

​​

出了什么问题吗?

+0

如果您直接前往:8016是否有效?如果它不工作,它不是一个Nginx问题,请检查节点。 –

+0

是的,它工作。 –

+1

尝试删除最终的反斜杠'location/api {' –

回答

1

您应该删除斜杠,因为/api/它为您的节点实例的不同由/api

location /api { 
    proxy_set_header Host $http_host; 
    proxy_pass http://backend/; 
} 

还应注意这个:

如果location由结尾的前缀字符串定义斜杠字符和请求由proxy_pass,fastcgi_pass,uwsgi_pass,scgi_pass或memcached_pa​​ss中的一个进行处理,然后为了响应URI等于此字符串但没有结尾斜杠的请求,使用代码30进行永久重定向1将被返回到请求的URI并附有斜线。