Hello,
We are using nginx as a loadbalancer in front of docker containers. Most
of
the time this works without problems. But sometimes (~0.1% of the
requests)
the requests are sent to the server group name instead of one of the
members
of the servergroup.
upstream gateway {
server 127.0.0.1:6000 weight=1000000;
server 1.2.3.4:6000;
}
server {
listen :443;
ssl on;
server_name ;
<ssl config>
location / {
proxy_pass http://gateway;
}
}
Most of the time the requests are logged as expected:
03/Feb/2016:04:00:25 +0100 “/api/v1/login” 200 52 “Jersey/2.7
(HttpUrlConnection 1.8.0_51)” “time=0.192” “”
“upstream=127.0.0.1:6000”
or
03/Feb/2016:04:00:25 +0100 “/api/v1/login” 200 52 “Jersey/2.7
(HttpUrlConnection 1.8.0_51)” “time=0.192” “”
“upstream=1.2.3.4:6000”
But randomly this happens:
03/Feb/2016:04:00:25 +0100 “/api/v1/login” 502 52 “Jersey/2.7
(HttpUrlConnection 1.8.0_51)” “time=0.192” “”
“upstream=gateway”
As you can see, it uses the server group name as the upstream target
(which
fails of course since this is not a valid host).
What could be the cause of this behaviour?
All the best,
Armin
Posted at Nginx Forum: