It’s setup this way, because haproxy can’t really do vhosts and sometimes you 
need to limit access per vhost.

OTOH, haproxy can do restrictions on a per-url basis much better (IMO) than 
Nginx.

There are up to several hundred vhosts there and sometimes you want to limit 
stuff on any one of them.

Plus, as I said, haproxy’s handling of certificates is sometimes very 
convenient.

I run let’s encrypt on almost all of these vhosts and due to the way they are 
provisioned, it’s much easier than dealing with the individual Nginx 
configuration files.



I will try and activate SSL without the Really Simple SSL plugin, maybe it is 
doing something weird - though with all the SSL offloading going on these days, 
you’d think this isn’t a too unusual case…








> Am 09.02.2021 um 05:08 schrieb Ali Mohsin <aliofthemohs...@gmail.com>:
> 
> Hi, normally when I get infinite loop with ssl, its usually because of 
> redirection of http to https. Sometimes front proxy (cloudflare or haproxy) 
> is expecting simple http traffic and it gets https traffic and vice versa.
> Also check your wordpress settings and its url. Try changing it.
> And why are you using so much stuff just for wordpress? Simple nginx, 
> php-fpm, fcgi cache works for me. And rate limiting works in nginx too. Try 
> simplifying the setup so there are less variables to deal with.
> 
> On Mon, 8 Feb 2021, 10:16 PM Rainer Duffner, <rai...@ultra-secure.de 
> <mailto:rai...@ultra-secure.de>> wrote:
> Hi,
> 
> I have an interesting problem.
> 
> I have apache behind Nginx behind haproxy.
> 
> SSL is terminated with haproxy (because haproxy can load all certificates 
> from a single directory, and because some rate-limiting stuff is easier with 
> haproxy).
> This makes using Let’s Encrypt easier.
> 
> Sometimes, I want to do Nginx + fastcgi + php-fpm directly, without apache 
> (it’s measurably faster).
> 
> For apache, you need this in the configuration:
> 
> proxy_set_header X-Forwarded-Proto  $http_x_forwarded_proto;
> 
> (and for good measure, also this:
> SetEnvIf X-Forwarded-Proto "^https$" HTTPS=on
> )
> 
> For fast-cgi, one also needs this in the configuration (fastcgi_params):
> 
> fastcgi_param  HTTPS              $fwd_ssl;
> 
> 
> $fwd_ssl is generated by this map:
> 
>   map $http_x_forwarded_proto $fwd_ssl {
>         http    off;
>         https   on;
>   }
> 
> in the global http section.
> 
> In wordpress, when I enable „Really Simple SSL“, I get a redirect loop (to 
> https) on the front-page (as an unauthenticated user) but the backend works.
> 
> I wonder what wordpress is missing so that it still thinks the connection is 
> coming over http instead of https.
> 
> 
> 
> Any ideas?
> 
> Best Regards
> Rainer
> 
> _______________________________________________
> nginx mailing list
> nginx@nginx.org <mailto:nginx@nginx.org>
> http://mailman.nginx.org/mailman/listinfo/nginx 
> <http://mailman.nginx.org/mailman/listinfo/nginx>_______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to