Distribuição Cloudfront com aplicativo react e aplicativo wordpress hospedados no mesmo domínio - como fazer com que navegadores com aplicativo react sejam armazenados em cache para renderizar o aplicativo wordpress?

Distribuição Cloudfront com aplicativo react e aplicativo wordpress hospedados no mesmo domínio - como fazer com que navegadores com aplicativo react sejam armazenados em cache para renderizar o aplicativo wordpress?

Eu tenho um domínio que hospeda um site react em um bucket s3 via cloudfront. Há também um site wordpress hospedado em um subdomínio desse domínio e, na distribuição cloudfront do aplicativo web, tenho dois comportamentos configurados com padrões de caminho ene en/*que são configurados com o subdomínio wordpress como origem.

Esta configuração parece funcionar ao visitar en/*caminhos no modo de navegação anônima e em navegadores que nunca visitaram o domínio principal. No entanto, em um navegador que já visitou o domínio antes, o navegador renderiza o aplicativo react em vez da página wordpress. Esvaziar o cache e recarregar faz com que ele exiba a página do wordpress, mas outra atualização depois disso e ele volta a renderizar o aplicativo da web. Isso acontece de forma muito consistente.

Quando o aplicativo react é renderizado em um URL que deveria renderizar o aplicativo wordpress, recebo o seguinte cabeçalho de resposta: x-cache: RefreshHit from cloudfront

Além disso, embora um navegador que nunca visitou o aplicativo react carregue corretamente o aplicativo wordpress ao visitar um caminho que começa com /en, uma vez que o navegador tenha visitado o aplicativo react, os caminhos que começam com /ennão renderizam mais o aplicativo wordpress

O que exatamente está acontecendo aqui? E existe uma maneira de renderizar o aplicativo wordpress de forma consistente, sem que os usuários tenham que limpar completamente o cache do navegador? Existe uma maneira de limpar o item de cache relevante usando javascript para que eu possa fazer isso no aplicativo react quando ele detectar que está em um desses caminhos?

Responder1

O problema acabou não estando relacionado à minha configuração do cloudfront ou s3 e, em vez disso, ocorreu devido ao service worker iniciado pelo aplicativo react interceptando todas as solicitações ao domínio assim que ele foi iniciado. A remoção do service worker (o que consegui fazer porque não é mais necessário) resolveu o problema.

informação relacionada