首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nginx中转发所有以特定位置开头的路径?

如何在nginx中转发所有以特定位置开头的路径?
EN

Stack Overflow用户
提问于 2019-11-18 17:41:25
回答 1查看 1.1K关注 0票数 0

我想转发所有以/api/ (/api/* ??)开头的路径。到端口1000,但实际配置只转发包含"/api/“的路径,之后不转发其他路径(/api/login不转发)

代码语言:javascript
复制
location /api/ {
                    proxy_pass http://localhost:1000/;
            }

或者它根本不起作用

代码语言:javascript
复制
location ~ ^/api/(.*)$ {
                    proxy_pass http://localhost:1000/;
            }

。服务器被虚构为fallows:

代码语言:javascript
复制
server {
            listen       80;
            keepalive_timeout    70;
            server_name  server_name;

            location / {
                    root /var/www/html;
                    index index.html;
            }
            location /api/ {
                    proxy_pass http://localhost:1000/;
            }
            }

我将非常感谢任何人的帮助,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-11-19 04:30:40

请注意,使用以下命令:

代码语言:javascript
复制
location /api/ {
    proxy_pass http://localhost:1000/;
}

如果有请求/api/foo,那么您的API服务器将看到/foo

另一方面(请注意,在proxy_pass中没有尾部斜杠)您可以使用:

代码语言:javascript
复制
location /api/ {
    proxy_pass http://localhost:1000;
}

然后,对于相同的请求,您的应用程序接口服务器将按原样接收请求:/api/foo

因此,请确保您使用正确的方法(斜杠/不斜杠),这取决于您的/api/foo服务器如何处理URL(如果它被配置为处理URL,那么您不应该在proxy_pass中使用尾部斜杠。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58911675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档