nginx-proxy-manager icon indicating copy to clipboard operation
nginx-proxy-manager copied to clipboard

Support for PROXY Protocol

Open furgoose opened this issue 3 years ago • 14 comments

Is it possible to accept PROXY Protocol traffic from within the UI? If I go in and manually edit the files it works, but requesting certs resets the files so it's not really a viable alternative.

https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/

furgoose avatar May 21 '21 17:05 furgoose

Lack of proxy protocol is a non-starter.

You can't be running this stuff in a cluster behind a cloud load balancer and then not be able to listen with proxy protocol. Without it, the applications lose the IP information from the origin client. Geo-based content becomes impossible.

I'm going to look at the source code to see if this is an easy fix. Seems like a checkbox or toggle is all that would be needed as proxy_protocol is just a single directive that goes with the listener line in NGINX.

gtmadev avatar Aug 24 '21 14:08 gtmadev

Correct yes a simple toggle in the UI would be enough to get this moving, saved to the db table and the backend template just needs to know about that value.

This kind of thing wasn't part of the project's goal. It's generally not expected that people using this for their home gateway would be using a load balancer or HA.

jc21 avatar Aug 24 '21 22:08 jc21

I did some digging through the source code and I can see how to add support for this. There are models to update, etc. But.. you are correct. I also reviewed a few other things and concluded that this is a good system for a home lab, but it can't do things like setup backend streams or sets of target servers for load balancing. And without that, it would be pretty senseless to add proxy protocol because anyone utilizing proxy protocol is most certainly doing so to load balance their services.

I wouldn't mind using this in a homelab environment myself, but the problem is that I usually need to mimic the production environment as closely as possible so that I can see how things will (hopefully) work in the real world.

I think I will still spin this up though and play with it.

gtmadev avatar Aug 25 '21 14:08 gtmadev

I would like to support adding listen ssl proxy_protocol, Thanks. like this: listen 443 ssl http2 proxy_protocol;

ylx2016 avatar Mar 07 '22 10:03 ylx2016

I'm looking forward to adding this option!

openncomp avatar Jun 24 '22 12:06 openncomp

Hopefully I'd see this feature get supported soon. I can think of one instance where support of proxy protocol is great for home settings: Users with two or more WANs. Personally my old test setup with dual-wan + proxy is like this: image

capthndsme avatar Sep 30 '22 04:09 capthndsme

This also works well if you have multiple domains that you want to serve from different machines.

You can use a load balancer that splits the traffic using SNI (so it doesn't need to know about the certificate) and then proxies it on so originating IP data isn't lost.

foxy82 avatar Sep 30 '22 05:09 foxy82

Hello @jc21

Is there any update is it going to be added?

msalman-91 avatar Apr 13 '23 20:04 msalman-91

Strongly needed, can this feature be included in the development plan

Ador-able avatar Mar 29 '24 04:03 Ador-able