NGINX通过代理传递匹配多个路径

时间:2018-08-29 22:00:39

标签: nginx nginx-location nginx-reverse-proxy

尽管我试图将多个位置传递给代理,但我无法使其正常工作。有人能指出我正确的方向吗?

这是我到目前为止所拥有的:

    location / {
            try_files $uri $uri/ /index.html =404
            gzip on;
    }

    location ~* ^/(login|callback|ph|ch|th) {
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Host $host;
            proxy_cache_bypass $http_upgrade;

            proxy_pass http://127.0.0.1:4002;
    }

您可能会说,我正在尝试通过

  • /登录

  • /回调

  • / ph

  • / ch

  • / th

到端口4002上的localhost,但没有传递它们?

编辑:如果有帮助。我认为我的前端会劫持路径位置吗?不确定。

1 个答案:

答案 0 :(得分:2)

所有请求都是从/开始的,因此您的位置应如下所示:

location ~* ^/(login|callback|ph|ch|th) {

,如果您使用起始字符串符号。