Ich glaube es sollte nur sein:
Header set Access-Control-Allow-Origin "*"
ohne die anderen Access-Control- * Flags, wie auf enable-cors.org beschrieben .
Ich versuche mich über Javascript mit hood.ie zu verbinden:
hoodie = new Hoodie('http://example.com:6001');
Dann aber einen Fehler bekommen: A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'xxx' is therefore not allowed access.
Mit:
hoodie = new Hoodie('http://example.com');
Gibt 404
...
Ich kann eine Verbindung herstellen zu localhost
: 6001
und: 6002
für public / admin, also funktionieren Ports (auch für externe example.com)
Aber in devconsole bekomme ich:
OPTIONS: http://example.com:6001/_api/_session
Ein Platzhalter '*' kann nicht in der 'Access-Control-Allow-Origin'
Kopfzeile verwendet werden, wenn das Kennzeichen für Berechtigungsnachweise wahr ist. Origin ' http://example.com ' hat daher keinen Zugriff. `
Ich habe Apache2 konfiguriert:
<VirtualHost *:80> DocumentRoot /var/www Header set Access-Control-Allow-Origin * Header add Access-Control-Allow-Headers "origin, content-type" Header always set Access-Control-Allow-Methods "POST, GET, PUT, DELETE, OPTIONS" Header set Access-Control-Allow-Credentials "false" <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all Header set Access-Control-Allow-Origin * Header set Access-Control-Allow-Credentials "false" </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog $/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog $/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>
Und probierte ein Extra aus:
<VirtualHost *:6001> Header set Access-Control-Allow-Origin * Header set Access-Control-Allow-Credentials "false" </VirtualHost>
Versucht:
Header set Access-Control-Allow-Credentials false Header set Access-Control-Allow-Credentials 'false' Header set Access-Control-Allow-Credentials true ...etc Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Origin "example.com"
Ich habe alle möglichen Varianten ausprobiert, bekomme aber trotzdem den gleichen Fehler ...
Aber ich frage mich, ob ich es an einem anderen Ort einrichten muss, weil sich das www
Verzeichnis des :6001
Dienstes irgendwo in meinem Home-Ordner befindet, nicht in var / www, aber es funktioniert, ich habe keine Ahnung, wie Apache damit umgeht. oder weiß über den Standort oder ob hood.ie einen eigenen Webservice startet.
Ich glaube es sollte nur sein:
Header set Access-Control-Allow-Origin "*"
ohne die anderen Access-Control- * Flags, wie auf enable-cors.org beschrieben .
Ich vermute, dass "Hoodie" ein XMLHttpRequest verwendet, das Cookies mitsendet (withCredentials = "true"), und Ihr Browser die Antwort des Servers daher zurückweist, da er im zulässigen Ursprungsheader eine Wildcard hat.