لقد أضفت DISCOURSE_ENABLE_CORS: "true" إلى قسم env في ملف app.yml الخاص بموقعي.
ثم قمت بإعادة بناء التطبيق.
ثم ذهبت إلى قسم cors_origins وأضفت عنوان URL الكامل لموقع أحاول التفاعل معه، ومع ذلك لم ينجح الأمر.
لقد أنشأت صفحة لتقديم المعلومات عندما يكون الموقع الرئيسي معطلاً.
لقد وضعت هذا الكود في الصفحة للتحقق من الموقع الرئيسي وإعادة التوجيه إليه بمجرد عودته للعمل، ولكن يبدو أنه لا يعمل.
هذا هو الكود:
<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>
وهذا هو خطأ وحدة التحكم:
[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)
إذا كان لدى أي شخص أي رؤى، فسأكون سعيدًا بمعرفتها. أنا وجروك في حيرة من أمرنا.