Adicionei DISCOURSE_ENABLE_CORS: "true" à seção env do arquivo app.yml do meu site.
Em seguida, reconstruí o aplicativo.
Em seguida, fui para a seção cors_origins e adicionei o URL completo de um site com o qual estou tentando fazer uma interação funcionar, e ainda assim não está funcionando.
Criei uma página para servir informações quando o site principal estiver offline.
Coloquei este JS na página para verificar o site principal e redirecionar para ele assim que ele voltar ao ar, mas parece que não está funcionando.
Aqui está o código:
<script>
function checkSiteStatus() {
fetch('https://discourse.technospider.com', {
method: 'HEAD',
mode: 'cors', // Use CORS para obter o código de status
cache: 'no-store' // Evitar cache
})
.then(response => {
console.log('Verificação do site: Status', response.status);
if (response.ok) { // Códigos de status 200-299
console.log('Site está no ar, redirecionando para Discourse');
window.location.replace('https://discourse.technospider.com');
} else {
console.log('Site ainda está fora do ar (status: ' + response.status + '), tentando novamente em 20 segundos');
setTimeout(checkSiteStatus, 20000);
}
})
.catch(error => {
console.log('Verificação do site: Erro (provavelmente fora do ar ou problema de CORS):', error.message);
setTimeout(checkSiteStatus, 20000);
});
}
// Começa a verificar imediatamente
checkSiteStatus();
</script>
E este é o erro no console:
[Error] Origin https://www.technospider.com is not allowed by Access-Control-Allow-Origin. Status code: 200
[Error] Fetch API cannot load https://discourse.technospider.com/ due to access control checks.
[Error] Failed to load resource: Origin https://www.technospider.com is not allowed by Access-Control-Allow-Origin. Status code: 200 (discourse.technospider.com, line 0)
[Log] Site check: Error (likely down or CORS issue): – "Load failed" (berightback, line 78)
Se alguém tiver alguma ideia, adoraria saber. Grok e eu não sabemos mais o que fazer.