Comme le titre l'indique, j'ai mis à jour le serveur Ubuntu 14.04 à 16.04. J'utilise nginx comme serveur Web et j'utilise également un serveur Java/Tomcat, configuré dans mon config nginx en tant que proxy_pass.
Depuis la mise à niveau, chaque fois que le serveur démarre, nginx affiche l’erreur 502: Bad Gateway
lors de la tentative de connexion au site proxy_pass. Tous les autres sites spécifiés dans ma configuration fonctionnent comme prévu.
Pour résoudre le problème, je dois Sudo systemctl restart nginx
, après quoi le service proxy_pass fonctionne.
Je ne veux pas avoir à redémarrer nginx à chaque démarrage. Comment puis-je résoudre ce problème?
J'ai posté cette question à serverfault après 24 heures et je vais inclure ici la résolution de mon problème particulier pour la postérité.
Dans ma configuration, la directive proxy_pass du bloc d’emplacement nginx approprié indiquait:
proxy_pass http://localhost:4040;
Cependant, le service en amont était en fait lié à l'adresse ipv4 et son démarrage au démarrage est plus lent que nginx.
Lorsque nginx a vérifié l'état du serveur en amont, sa connexion a été refusée. Par la suite, lorsque Nginx a tenté de vérifier à nouveau l’état du serveur en amont, il n’a continué à vérifier que l’adresse IPV6 [:: 1].
Pour résoudre le problème, j'ai spécifié l'adresse ipv4 (127.0.0.1) au lieu de localhost, forçant ainsi nginx à utiliser uniquement ipv4. Tout fonctionne comme prévu, maintenant.