Ich habe DISCOURSE_ENABLE_CORS: "true" zum Abschnitt env meiner app.yml-Datei hinzugefügt.
Anschließend habe ich die App neu kompiliert.
Dann bin ich zum Abschnitt cors_origins gegangen und habe die vollständige URL einer Website hinzugefügt, mit der ich eine Interaktion zum Laufen bringen möchte, und es funktioniert immer noch nicht.
Ich habe eine Seite erstellt, die Informationen anzeigt, wenn die Hauptseite offline ist.
Ich habe diesen JavaScript-Code auf der Seite platziert, um den Status der Hauptseite zu überprüfen und dorthin weiterzuleiten, sobald sie wieder verfügbar ist, aber es scheint nicht zu funktionieren.
Hier ist der Code:
<script>
function checkSiteStatus() {
fetch('https://discourse.technospider.com', {
method: 'HEAD',
mode: 'cors', // CORS verwenden, um den Statuscode zu erhalten
cache: 'no-store' // Caching vermeiden
})
.then(response => {
console.log('Site check: Status', response.status);
if (response.ok) { // 200-299 Statuscodes
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);
});
}
// Sofort mit der Überprüfung beginnen
checkSiteStatus();
</script>
Und hier ist der Konsolenfehler:
[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)
Wenn jemand Einblicke hat, würde ich mich freuen, sie zu erfahren. Grok und ich sind ratlos.