Мне недавно потребовалось разрешить CORS, и в процессе поиска решения я нашел nelmio/NelmioCorsBundle
.
. Для начала я могу разрешить запрос из любого источника, так что это мой app/config/config.yml
:
nelmio_cors:
defaults:
allow_credentials: false
allow_origin: ['*']
allow_headers: ['*']
allow_methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS']
max_age: 3600
origin_regex: false
Работает только для запросов GET, любой запрос POST возвращает:
В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Мне не обязательно работать с этим пакетом, в начале я попытался раскомментировать TRUSTED_HOSTS
и установить его со своим доменом в файле dotenv
, но это было бесполезно.Также я не нашел никакой помощи об этом TRUSTED_HOSTS в документации.
Так что любая помощь с этим пакетом или любым другим решением для CORS на Symfony я был бы рад.
Как и просилиЯ обновляю свою текущую конфигурацию nelmiocors:
# app/config/config.yml
# Nelmio CORS Configuration
nelmio_cors:
defaults:
origin_regex: true
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
allow_headers: ['Content-Type', 'Authorization']
expose_headers: ['Link']
max_age: 3600
paths:
'^/':
origin_regex: true
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
# allow_origin: ['^http://localhost:[0-9]+']
allow_headers: ['*']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
# allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
# hosts: ['^api\.']