J'ai la configuration Nginx suivante pour équilibrer la charge entre les différents nœuds. Cependant, lorsque j'essaie de rediriger le trafic, j'obtiens 502 Mauvaise passerelle .
En lisant le journal des erreurs, j'ai découvert que le problème est lié au fait que mon équilibreur de charge Nginx essaie de vérifier la validité du certificat X509. PAS pour les différents nœuds ( backend1.example.com,backend2.example.com
), mais pour le nom de l'amont backend.example.com
(sans le numéro) ce qui entraîne l'erreur suivante.
Comment puis-je dire à nginx d'utiliser le nom d'hôte du nœud transféré, au lieu de celui du nœud en amont ?
LOG D'ERREUR :
upstream SSL certificate does not match "backend.example.com" while SSL handshaking to upstream...
CONFIGURATION :
upstream backend.example.com {
least_conn;
server backend1.example.com:443
server backend2.example.com:443
}
server {
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
server_name example.com;
location / {
proxy_pass https://backend.example.com;
proxy_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
proxy_ssl_session_reuse on;
proxy_ssl_verify on;
proxy_ssl_verify_depth 2;
proxy_set_header Host $host;
}
ssl_certificate /etc/letsencrypt/.../fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/.../privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}