Contao 4 - Access-Control-Allow-Origin

Contao 4 - Warum erhalte ich diese Fehlermeldung? Access-Control-Allow-Origin
Contao 4 - Access-Control-Allow-Origin
Warum erhalte ich diese Fehlermeldung?
Wenn Seite A versucht, Inhalt von Seite B abzurufen, kann Site B einen Antwort-Header für die Zugriffssteuerung mit Informationen zur Herkunft senden, um dem Browser mitzuteilen, dass der Inhalt dieser Seite bestimmten Quellen zugänglich ist. (Beispiel: Anfrage von https://localhost:3000 -> Schema, Domain und Portnummer.) Standardmäßig sind die Seiten von Seite B für keinen anderen Ursprung zugänglich. Durch die Verwendung des Headers "Access-Control-Allow-Origin" wird der Zugriff auf eine bestimmte Anfragende Domain geöffnet.
Für jede Ressource / Seite, die Seite B für Seite A zugänglich machen soll, muss in Seite B ein entsprechender Antwortheader definiert werden:
Access-Control-Allow-Origin: http://localhost:3000
Dies kann zum Beispiel im Fall von Contao per .htaccess oder PHP erfolgen.
Fehlermeldung
Access to XMLHttpRequest at 'http://example.org/api/' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Lösung #1 / BestPractice
# .env im Root Verzeichnis
CORS_ALLOW_ORIGIN='localhost:[0-9]|example.org'
# app/config/config.yml
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:
'^/api/':
allow_origin: ['*']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
'^/':
origin_regex: true
allow_origin: ['^http://localhost:[0-9]+']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
hosts: ['^rest\.']
Lösung #2
# in der .htaccess
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "localhost:3000"
</IfModule>
Mehr Infos
Mehr Informationen zum NelmioCorsBundle findest du unter https://github.com/nelmio/NelmioCorsBundle
Ähnliche Beiträge
Zurzeit sind keine Nachrichten vorhanden.
*******************
Liebe Leser,
Menschen sind nicht ausschließlich Frauen, Männer, weiblich, männlich, divers – Menschen können vielfältiger sein! Wir möchten euch ALLE als Menschen ansprechen, egal von welchem Geschlecht oder welcher Kultur. Sprachlich ist es schwierig, euch alle „richtig“ anzusprechen. Daher verwenden wir – auch für eine bessere Lesbarkeit – bei Personenbezeichnungen meist die männliche Form, wie Dienstleister oder Partner. Aber eins ist uns wichtig: Keiner soll sich ausgeschlossen fühlen.
Zudem sind wir Verfechter des DU #gernperdu und gestalten so unsere tägliche Kommunikation etwas lockerer und persönlicher. Auch hier gilt: Wir bringen allen die gleiche Wertschätzung entgegen.
*******************