사이트의 app.yml 파일 env 섹션에 DISCOURSE_ENABLE_CORS: "true"를 추가했습니다.
그 후 앱을 다시 빌드했습니다.
이어서 cors_origins 섹션으로 가서 상호작용을 시도하는 사이트의 전체 URL을 추가했지만 여전히 작동하지 않습니다.
메인 사이트가 오프라인일 때 정보를 제공하기 위한 페이지를 생성했습니다.
이 페이지에 메인 사이트 상태를 확인하고, 복구되면 해당 사이트로 리다이렉트하기 위한 다음 JS를 넣었지만 작동하지 않는 것 같습니다.
코드는 다음과 같습니다:
<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)
```\n혹시 통찰이 있으신 분이 계시다면 알려주시면 좋겠습니다. Grok과 저는 막막합니다.
안녕하세요! 제가 통제하지 않는 잠재적으로 위험한 웹사이트에서 /latest.json을 로드하고 싶습니다. /latest.json과 같은 특정 URL에 대해서만 CORS 헤더를 활성화하고, 예를 들어 /u/myname/user-menu-private-messages에는 활성화하지 않는 것이 가능한가요?