Блокировка доступа фрейма с происхождением "http://127.0.0.1:8000" к кросс-оригинальному фрейму. ((Django cors headers, S3 cors policy))

https://sparta-games.net/games/list/47/ <-- !!! Слишком громкий звук !!! Я пытаюсь уменьшить звук iframe или всей страницы.

Точное сообщение об ошибке:

47/:644 Uncaught DOMException: Failed to read a named property 'AudioContext' from 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
    at iframe_element.onload (http://127.0.0.1:8000/games/list/47/:644:58)

Iframe - это Unity WebGL игра, которая выходит из S3 bucket.

Я использую Django, EC2, mobaXterm, S3, nginx, gunicorn, RDS. (Windows11)

Мои настройки Django settings.py:

INSTALLED_APPS = [
    ...,
    "corsheaders",
    ...,
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    ...,
    'django.middleware.common.CommonMiddleware',
    ...,
]

X_FRAME_OPTIONS = 'SAMEORIGIN'

CORS_ALLOWED_ORIGINS = [
    "http://127.0.0.1:8000",
]

S3 CORS policy:

{
    "CORSRules": [
        {
            "AllowedHeaders": [
                "*"
            ],
            "AllowedMethods": [
                "GET",
                "PUT",
                "HEAD"
            ],
            "AllowedOrigins": [
                "*"
            ],
            "ExposeHeaders": [
                "x-amz-server-side-encryption",
                "x-amz-request-id",
                "x-amz-id-2"
            ],
            "MaxAgeSeconds": 3000
        }
    ]
}

версии:

Django==4.2
django-cors-headers==4.3.1

Отправка заголовка через views.py, как показано ниже, тоже не помогла.

def my_view(request):
    response = JsonResponse({'message': 'Hello, world!'})
    response['Access-Control-Allow-Origin'] = 'http://127.0.0.1:8000'
    response['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'
    response['Access-Control-Allow-Headers'] = 'Content-Type'
    return response

Я не могу найти точный случай, подобный этому. Рекурсивно попросил ChatGPT решить его.

django-cors-headers, s3 policy, direct sending headers, cors whitelist,... не понял проблемы.

На самом деле, это также происходит, когда пользователь изменяет и отправляет любое содержимое этой страницы.(CORS-штука)

Я занимаюсь этой проблемой почти 4 дня. Пожалуйста, помогите мне.

Вернуться на верх