Este é o nosso cenário:
Nosso discourse está rodando em uma instância EC2 separada do nosso servidor principal. A instância discourse cria seu próprio certificado de servidor usando o Let’s Encrypt com o mecanismo integrado.
O servidor principal usa a API do servidor discourse usando seu DN público.
O fórum é um subdomínio do site, ou seja, “forum.[meudominio].com”.
Isso funciona perfeitamente.
Agora colocamos o site inteiro atrás do Cloudflare.
O fórum em si funciona perfeitamente quando acessado através de um navegador.
No entanto, se o site principal tentar acessar a instância Discourse usando uma chamada de API, ele agora recebe um erro 403.
Já tentei todos os passos listados aqui: Usando Discourse com Cloudflare: Melhores Práticas - Documentação / Auto-hospedagem - Discourse Meta, incluindo desativar a verificação de integridade do navegador para forum.[meudominio].com/u/by-external/*, mas sem sucesso.
A configuração SSL no Cloudflare está definida como “Full”. “Full (Strict)” não é usada, pois funcionaria também, mas causa problemas com as páginas de erro de fallback se o site estiver fora do ar, então prefiro continuar usando “Full”.
Não tenho ideia de por que a chamada de API falharia com 403 e não tenho ideia de como resolver esse problema. Por enquanto, desativei o proxy para forum.[meudominio].com como uma solução alternativa, o que resolve o problema, mas é claro que significa que o Discourse não é cacheado ou protegido pelo Cloudflare.
Alguma ideia do que pode estar errado?