Nginx会在查询字符串之前自动添加尾随斜杠
当我连接到:Nginx会在查询字符串之前自动添加尾随斜杠,nginx,nginx-reverse-proxy,Nginx,Nginx Reverse Proxy,当我连接到: http://localhost/api?foo=bar Nginx将我重定向到: http://localhost/api/?foo=bar 因此,我的支持没有正确响应 我尝试将位置更改为location/api,然后问题得到解决,但它也匹配类似http://localhost/apiapi?foo=bar我不想这样 这是我的配置: server { listen 80; server_name localhost; location / {
http://localhost/api?foo=bar
Nginx将我重定向到:
http://localhost/api/?foo=bar
因此,我的支持没有正确响应
我尝试将位置更改为location/api
,然后问题得到解决,但它也匹配类似http://localhost/apiapi?foo=bar
我不想这样
这是我的配置:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
}
location /api/ {
proxy_pass http://127.0.0.1:3000;
}
}
您想使用URI
/api
访问您的服务
位置/api/
与该api不匹配,除非添加了额外的/
(Nginx通过重定向自动附加该api)
location/api
还匹配以相同三个字符开头的任何URI
由于您的服务只需要响应单个URI,因此您可以使用精确匹配的位置
例如:
location = /api {
...
}
有关详细信息,请参阅。您想使用URI
/api
访问您的服务
位置/api/
与该api不匹配,除非添加了额外的/
(Nginx通过重定向自动附加该api)
location/api
还匹配以相同三个字符开头的任何URI
由于您的服务只需要响应单个URI,因此您可以使用精确匹配的位置
例如:
location = /api {
...
}
有关详细信息,请参阅。请尝试:
location=/api{…}
@RichardSmith谢谢!它就像一个charmTry:location=/api{…}
@RichardSmith谢谢!它起了很大的作用