J’utilise en upstream
et proxy
pour l’équilibrage de charge.
La directive proxy_pass http://upstream_name
utilise le port par défaut, à savoir 80.
Toutefois, si le serveur en amont n’écoute pas sur ce port, la demande échoue.
ma configuration:
http{ #... upstream myups{ server 192.168.1.100:6666; server 192.168.1.101:9999; } #.... server{ listen 81; #..... location ~ /myapp { proxy_pass http://myups:81/; } }
nginx -t:
[warn]: upstream "myups" may not have port 81 in /opt/nginx/conf/nginx.conf:78.
dans votre configuration en amont, vous avez des ports définis (6666 et 9999), ce sont les ports que vos serveurs principaux doivent écouter
la directive proxy_pass ne nécessite pas de configuration de port supplémentaire dans ce cas. Votre nginx écoute sur le port 81
que vous avez défini dans la directive listen
Est-ce ce que vous avez essayé de faire?
http { #... upstream upstream_1{ server 192.168.1.100:6666; server 192.168.1.101:9999; } upstream upstream_2{ server 192.168.1.100:6661; // other backstream port if you use port 81 server 192.168.1.101:9991; } server { listen 80; #..... location ~ /myapp { proxy_pass http://upstream_1; } } server { listen 81; #..... location ~ /myapp { proxy_pass http://upstream_2; } } }