A implantação da configuração do Dispatcher falha devido à falta de configuração do ServerAlias ou do X-Vhost
As implantações de configuração do Dispatcher no Cloud Manager falham na verificação de código ou na fase TestCacheInvalidation, mesmo quando a validação local não relata problemas. As falhas ocorrem quando nenhum vhost habilitado corresponde aos nomes de host que o Cloud Manager usa para seus testes internos ou quando o vhost correspondente não define um cabeçalho X-Vhost, portanto, as solicitações se encaixam no vhost catch-all. Links simbólicos default.vhost ausentes, valores ServerAlias ausentes e regras de regravação que bloqueiam invalidate.cache produzem o mesmo resultado. Garantir que pelo menos um vhost habilitado trate 127.0.0.1, localhost, *.local e os domínios de nuvem e defina um cabeçalho X-Vhost resolve a falha.
Descrição description
Problema: falha na implantação do Dispatcher na Verificação de código ou TestCacheInvalidation com um erro “catch-all” do X-Vhost
Descrição
Os pipelines do Dispatcher do Cloud Manager falham na Verificação de Código ou TestCacheInvalidation apesar do relatório do validador do Dispatcher Nenhum problema encontrado. Os logs mostram o êxito do validador, seguido de uma falha como Expected header X-Vhost to be existing and not: catch-all, got: catch-all ou invalidação que retorna HTTP 403. Isso acontece quando nenhum vhost ativado corresponde aos nomes de host de invalidação do dispatcher ou não define um cabeçalho X-Vhost, deixando os testes do Cloud Manager para se enquadrarem no vhost catch-all. Falhas adicionais ocorrem quando o link simbólico default.vhost está ausente, os valores ServerAlias necessários estão ausentes ou o bloco de regras de redirecionamento/regravação invalidate.cache.
Ambiente:
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- AEM Managed Services
- Cloud Manager (Verificação de código e pipelines de validação no nível da Web)
- Dispatcher
Problema/sintomas:
- Mensagem de falha de teste do Dispatcher:
Test fails. Expected header X-Vhost to be existing and not: catch-all, got: catch-all - O pipeline falha na Verificação de Código, embora o validador do dispatcher imprima Nenhum problema encontrado.
- O teste de invalidação do Dispatcher retorna
Expected 200 but got 403para um POST parainvalidate.cache. - Os logs do Cloud Manager mostram o código de erro
BUILD_WEB_TIER_VALIDATE_WITH_DISPATCHER_TEST_FAILUREouBUILD_WEB_TIER_VALIDATE_STATIC_TEST_FAILURE.
Causa raiz:
O Cloud Manager executa testes internos do Dispatcher que exigem pelo menos um vhost habilitado para corresponder às solicitações provenientes de 127.0.0.1, localhost, *.local, *.adobeaemcloud.com e *.adobeaemcloud.net. Esses testes também devem retornar um cabeçalho X-Vhost. Quando esses nomes de host não são correspondidos por nenhum vhost habilitado, ou o vhost correspondente não define X-Vhost, o Cloud Manager trata a resposta como pega-tudo, fazendo com que TestCacheInvalidation e outros testes falhem. A mesma falha ocorre quando o link simbólico default.vhost está ausente, as regras de regravação personalizadas bloqueiam a invalidação ou os artefatos estão ausentes durante as etapas de cópia.
Como confirmar
- Navegue até Cloud Manager
>Pipelines, selecione o pipeline com falha e escolha Exibir Execução. Baixarbuild_dispatcher_validation.logedispatcher_backend_mock.log. - Pesquise os logs de
TestCacheInvalidationouX-Vhost. Falhas mostram mensagens comoExpected header X-Vhost ... got catch-all. - Se nenhuma falha for exibida, o pipeline pode estar reutilizando uma build anterior. Execute uma confirmação git fictícia para forçar uma recriação e verificar novamente.
Resolução resolution
-
Verifique se os valores de ServerAlias necessários existem. Abra
conf.d/available_vhosts/*.vhostpara domínios ativos e confirme se pelo menos um vhost habilitado inclui explicitamente todos esses aliases:code language-none ServerAlias "127.0.0.1" "localhost" "*.local" "*.adobeaemcloud.com" "*.adobeaemcloud.net"
Não é garantido que um glob * sozinho funcione. Se os aliases estiverem ausentes, adicione-os e implante novamente.
2. Confirme se o vhost está ativado. Procure em conf.d/enabled_vhosts/ um link simbólico apontando para um vhost com as entradas ServerAlias necessárias. Por exemplo: default.vhost -> ../available_vhosts/default.vhost. Se o link simbólico estiver ausente, adicione-o e envie a confirmação.
3. Defina o cabeçalho X-Vhost. No vhost correspondente, adicione:
"
Cabeçalho adicionar X-Vhost “publicar”
"
As solicitações de teste retornam um valor X-Vhost diferente de catch-all. Confirme se nenhuma regra de regravação desmonta os cabeçalhos de resposta.
4. Verifique as regras de regravação que bloqueiam invalidate.cache. Procure regras que rejeitam o cliente de teste do Cloud Manager. Por exemplo: uma regra correspondente ao agente de usuário Go-http-client que retorna um valor 403:
"
RewriteCond %{HTTP_USER_AGENT} Go-http-client.$
RewriteRule. - [ R=403,L]
"
Remova ou ignore a regra incorreta para que a invalidação retorne HTTP 200. Se necessário, desative temporariamente substituições e reimplantações suspeitas.
5. Valide a configuração localmente:
"
./bin/validate.sh dispatcher/src
"
Confirme se a saída mostra Nenhum problema encontrado e Sintaxe OK. Corrija quaisquer erros de sintaxe local antes da reimplantação.
6. Confirme as alterações e execute novamente o pipeline do Dispatcher. Confirme a Verificação de Código e TestCacheInvalidation aprovação.
Validação
- Confirme se o pipeline do Cloud Manager mais recente passou na Verificação de Código sem
TestCacheInvalidationerros. - Confirmar a invalidação do dispatcher por meio dos logs não mostra nenhuma resposta HTTP 403 para
invalidate.cache.