我已经设置了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以便为所有路由提供服务?
答案 0 :(得分:2)
要匹配所有路线,请删除=
符号。具有=
前缀的指令将完全匹配查询。可以找到更多信息here。
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 ]
}