找不到Proxy_pass nginx

时间:2014-11-07 11:41:14

标签: node.js nginx routes reverse-proxy microservices

所以,我在节点中的微服务arch之后开发我的服务器。因此,我正在使用nginx正确地重定向每个服务的路由。因为我在子目录中添加了ghost,所以进展顺利。

现在,Ghost工作得很好但其他所有路线都坏了。找不到nginx答案。

我的nginx服务器配置:

server {
  listen 0.0.0.0:80;

  location / {
    root /var/www/html;
  }

  location ^~ /blog {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:2368;
    proxy_redirect off;
  }

  location /tool/ {
    proxy_pass http://127.0.0.1:8100/;
  }
}

我也测试微服务,即:

telnet localhost 8100

结果没问题。

我甚至都不知道发生了什么,任何帮助都会很棒。提前谢谢。

编辑:另外我注意到如果我在root上启动微服务,即下一个路由尝试关注服务而不是nginx路由。

2 个答案:

答案 0 :(得分:1)

@Anatoly说尾随斜杠会产生差异!

答案 1 :(得分:0)

您可以尝试更改Nginx配置,如下所示:

listen 80;

server_name  <your pc name or localhost or 127.0.0.1>