How to proxy requests to an internal server using nginx?

Solution 1:

In the case URIs are absolute, a solution could be using the Nginx HTTPSubModule or switching to Apache with its mod_proxy_html module. They are both able to modify the response received from backend servers and make some replacements.

Solution 2:

Try the solution presented in the nginx wiki:

http://wiki.nginx.org/LikeApache

the result, should be something like this.

location /git {
    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://192.168.1.111:3000/;
}