Proxying involves handing off a request to a single server with http, known as a generic "proxy pass" handled by the proxy_pass
directive.
ngx_http_proxy_module
allows passing requests to another serverproxy_pass
sets the protocol and address of a proxied server, directive in location
contextproxy_set_header <Attribute> <value>;
sets values for header fields as seen by the proxied server (you can set to empty string to hide them)proxy_redirect
will modify the "Location" response header based on specified prefixed string matchingproxy_redirect http://localhost:8000/two/ http://frontend/one/
will rewrite the string “Location: http://localhost:8000/two/some/uri/” to “Location: http://frontend/one/some/uri/”.proxy_buffers
directive. It is the number of buffers allocated for a requestUseful if the proxy server has several network interfaces and proxied servers accept connections from particular IP networks or address ranges
proxy_bind
directive specifies IP address of the necessary network interfaceproxy_bind $server_addr
transparent
parameter allows outgoing connections to originate from a non-local IP address, like the real client IP: proxy_bind $remote_addr transparent;
(run nginx worker processes with superuser)