简体   繁体   English

Nginx - 反向代理所有以关键字开头的请求

[英]Nginx - Reverse proxy all requests starting with a keyword

I want to redirect all requests starting with "mydomain/_dash" to "mydomain:8050/_dash" so that "mydomain/_dash-component-suites/" redirects to "mydomain:8050/_dash-component-suites/".我想将所有以“mydomain/_dash”开头的请求重定向到“mydomain:8050/_dash”,以便“mydomain/_dash-component-suites/”重定向到“mydomain:8050/_dash-component-suites/”。 I have added the following directive but it doesn't work.我添加了以下指令,但它不起作用。 Plus, I also want to maintain the headers of each request.另外,我还想维护每个请求的标头。

location /_dash(.*)$ {
    proxy_set_header Host $http_host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Scheme $scheme;

    client_max_body_size 0;
    
    proxy_pass http://analytics:8050/_dash(*);
  }

You need to use regular expressions:您需要使用正则表达式:

location ~ /_dash(.*)$ {
    proxy_set_header Host $http_host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Scheme $scheme;

    client_max_body_size 0;
    
    proxy_pass http://analytics:8050/_dash$1;
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM