我将Nginx配置为反向代理
server {
listen 80;
server_name www.pluto.com;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
}
我需要来自FOLDER1(不区分大小写)的任意组合的URL请求是从URL重写
http://www.pippo.com/FOLDER1/etc..etc..etc..
到(始终小写folder1)
http://127.0.0.1/folder1/etc..etc..etc...
其中 etc..etc..etc 。 =我需要保留的任何东西
我该怎么办?
答案 0 :(得分:1)
location ~* ^/folder1(?:/?)(.*) {
proxy_pass http://127.0.0.1:8080/folder1/$1$is_args$args;
}
(?:/?)
说我们可能在folder1
之后有一个斜杠,在这种情况下我们只是忽略它。然后,我们会抓住(.*)
中遗留的任何遗骸,这些遗骸将被放置在$1
中。然后在proxy_pass
参数中,我们构建新的URI:首先我们在原始URI中添加folder1/
之后的内容,然后添加所有参数。因此,如果您的原始URI为/folder1/test
,则proxy_pass
URI应为http://127.0.0.1:8080/folder1/test
。对有参数的情况做一些实验,例如: /folder1/test?id=1
。我不确定(.*)
是否会捕获?id=1
部分。如果是,则proxy_pass
应更改为http://127.0.0.1:8080/folder1/$1
。