Resolução do host NGINX proxy_pass inconsistente com IP6

Resolução do host NGINX proxy_pass inconsistente com IP6

Estou usando o NGINX em um cenário simples de proxy reverso, geralmente com uma variável para definir nomes de host para que ele não falhe ao iniciar se o host estiver indisponível.

Aqui está o que descobri: com essa configuração, o tráfego é proxy, mas as páginas não são renderizadas completamente - parece que algumas das bibliotecas .js não estão carregando.

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

Se eu remover ipv6=off assim, recebo 502 gateway inválido e o erro mostra "host não resolvido":

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

Mas, se eu mudar para usar um nome de host literal em vez de uma variável, funcionará perfeitamente:

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

Não quero usar um nome de host literal, pois o nginx não será iniciado se o host não estiver disponível no momento da inicialização, mas não consigo descobrir o que está acontecendo com essa configuração.

Já tentei com IP6 habilitado e desabilitado no servidor, e com inclusão e exclusão do

listen [::]:443 ssl; 

directiva, tudo em vão. Este não foi um problema com a versão anterior do nginx (não me lembro qual usei originalmente), mas agora é com 1.14.2.2.

Toda e qualquer sugestão é bem-vinda!

informação relacionada