我有nginx作为代理服务器:client - > nginx(server1:80) - > server(server2:81)客户端从服务器请求json资源(HAL格式),其中服务器在JSON HAL内生成所需的URI资源 .

我在nginx配置中使用 proxy_pass

location /context {
    proxy_cache one;
    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-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_redirect off;
    rewrite /context(.*) $1 break;
    proxy_pass http://server2:81;
}

问题是来自server2的生成的URI不包含上下文根 /context .
例:
客户端请求URI - > http://server1/context/foo/bar
server1(nginx)用于请求server2的URI - > http://server2:81/foo/bar

响应JSON中生成的URI是 http://server1/foo/bar/baz ,因为它应该是 http://server1/context/foo/bar/baz

有没有办法告诉server2 GET标头是 /context/foo/bar 哪个server2在其响应中生成正确的URI? (它是一个.NET服务器,他们使用 HttpHelper 类来生成URI) .