Nginx reverse proxy in front of corporate proxy

Maxim Dounin mdounin at mdounin.ru
Fri Jun 4 16:06:56 UTC 2021


Hello!

On Fri, Jun 04, 2021 at 06:20:57AM -0400, Flinou wrote:

> Hello!
> 
> I did some research and couldn't find anything similar on the forum, sorry
> if I'm wrong.
> 
> I would like to setup something like :
> 
> Client -> https://my-nginx.com -> http://corporate-proxy.com (corporate
> proxy) -> https://website.com (website to reach)
> 
> Doing curl command like 
> curl -v https://website.com -x http://corporate-proxy.com works fine
> 
> I tried something like 
> 
> location /test {
>             proxy_set_header Host https://website.com;

A side note: the Host header syntax is wrong here, it should be 
just "website.com".  Correct syntax is not going to help here 
though, see below.

>             proxy_pass http://corporate-proxy.com:3128;
>         } 
> 
> The corporate proxy does not allow me to access https://website.com in this
> case.
> 
> Rewriting is not, for my use case, a satisfying alternative because of the
> 302 return code.
> 
> Is there any way to achieve this ?

No.  Unlike curl, nginx proxy_pass does not work through forward 
proxies.  If you want to pass requests to a backend server, you 
have to connect to the server directly, or configure a dedicated 
reverse proxy or tunnel to do so.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx mailing list