Hi,
I’m trying to set up nginx as a reverse proxy for several apache2
server.
Nginx server should act as a cache / proxy for any URL that you send -
so
some sort of global VirtualHost. There is no problem.
But I do not know how to configure nginx to not only one IP address as
the
ProxyPass, but to automatically use the IP site (Apache2 web server -
but
it is different for each domain).
It is possible to do this somehow?
Thanks so much for the help.
Michal
I’m sure there are a few different ways to accomplish this, personally
I’m working on a dynamic method to perform this with a mysql backend.
For a more simplistic method, maybe try using a map hash for the
backend_server variable that is matched against the incoming
$http_host:
map_hash_bucket_size 64;
map $http_host $backend_server {
hostnames;
default
backend-apache1.example.com;
my-frontend-alias.example.com
vip-super-secret-backend.example.com
my-other-alias.example5.com
vip-other-secret-backend.example2.com
}
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
server 80 {
location / {
proxy_pass http://$backend_server
}
}
Just an example, I’m sure I’m missing something above…
Posted at Nginx Forum:
Im curious is it more efficient to use map or multiple server blocks?
Oops, that ‘server 80 {’ line above is completely incorrect Take
note…
Posted at Nginx Forum: