2

我已经设置了 nginx 来为我的节点 web 应用程序(api + web)提供服务,但是我看到服务器只响应“/”(web root)调用。当我测试它时,我看到了主网页(位于 /index.html),但没有图像或 css 样式,还有路由 /api/v1/....(/api/v1/users, /api/v1/cars 等)无法访问,因为 nginx 响应“未找到”。

当前的 nginx 配置是:

server {
    listen 80;
    server_name localhost www.mydomain.com mydomain.com

    access_log off;
    error_log off;

    location = / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

如何配置 nginx 以提供所有路由?

4

1 回答 1

3

要匹配所有路线,请放下=标志。带有前缀的指令=将完全匹配查询。更多信息可以在这里找到。

location / {
  proxy_pass http://127.0.0.1:3000;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Real-IP $remote_addr;
}

以下是文档中的示例:

location  = / {
  # matches the query / only.
  [ configuration A ] 
}
location  / {
  # matches any query, since all queries begin with /, but regular
  # expressions and any longer conventional blocks will be
  # matched first.
  [ configuration B ] 
}
于 2013-10-14T00:24:00.010 回答