La resolución del host NGINX proxy_pass es inconsistente con IP6

La resolución del host NGINX proxy_pass es inconsistente con IP6

Estoy usando NGINX en un escenario de proxy inverso simple, generalmente con una variable para definir los nombres de host para que no falle al iniciarse si el host no está disponible.

Esto es lo que encuentro: con esta configuración, el tráfico se envía mediante proxy, pero las páginas no se muestran por completo; parece como si algunas de las bibliotecas .js no se estuvieran cargando.

    resolver 192.168.86.1 valid=30s ipv6=off;
    location /cam/ {
               set $motion01 motion01;
               proxy_set_header Host $host;
               proxy_pass http://$motion01.lan/;

Si elimino ipv6=off de esta manera, obtengo 502 puerta de enlace incorrecta y el error muestra "host no resuelto":

    resolver 192.168.86.1 valid=30s;
    location /cam/ {
               set $motion01 motion01;
               proxy_set_header Host $host;
               proxy_pass http://$motion01.lan/;

Pero, si cambio para usar un nombre de host literal en lugar de una variable, funciona perfectamente:

               set $motion01 motion01;
               proxy_set_header Host $host;
               #proxy_pass http://$motion01.lan/;
               proxy_pass http://motion01.lan/;

No quiero usar un nombre de host literal ya que nginx no se iniciará si el host no está disponible en el momento del inicio, pero no puedo entender qué pasa con esta configuración.

Lo intenté con IP6 habilitado y deshabilitado en el servidor, e incluyendo y excluyendo el

listen [::]:443 ssl; 

directiva, todo fue en vano. Esto no era un problema con la versión anterior de nginx (no recuerdo cuál usé originalmente), pero ahora es con la 1.14.2.2.

¡Todas y cada una de las sugerencias son bienvenidas!

información relacionada