I have added the DISCOURSE_ENABLE_CORS: "true"
to the env section of my site’s app.yml file.
I then rebuilt the app.
I then went to the cors_origins
section and added the full URL of a site I’m trying to get an interaction working with and it’s still not working.
I’ve created a page to serve information when the main site is offline.
I put this js in the page to check the main site and redirect to it once it’s back up but it doesn’t seem to be working.
Here’s the code:
<script>
function checkSiteStatus() {
fetch('https://discourse.technospider.com', {
method: 'HEAD',
mode: 'cors', // Use CORS to get status code
cache: 'no-store' // Avoid caching
})
.then(response => {
console.log('Site check: Status', response.status);
if (response.ok) { // 200-299 status codes
console.log('Site is up, redirecting to Discourse');
window.location.replace('https://discourse.technospider.com');
} else {
console.log('Site is still down (status: ' + response.status + '), retrying in 20 seconds');
setTimeout(checkSiteStatus, 20000);
}
})
.catch(error => {
console.log('Site check: Error (likely down or CORS issue):', error.message);
setTimeout(checkSiteStatus, 20000);
});
}
// Start checking immediately
checkSiteStatus();
</script>
And this is the console error:
[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)
If anyone has any insights I’d love to know about them. Grok and I are at a loss.