2015-03-19 12 views
5

Questo è il mio file di configurazione.Come consentire la richiesta di domini incrociati in apache2

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName localhost:80 
    DocumentRoot /var/www/XXX 
    <Directory /> 
     Options None 
     AllowOverride None 
     Order deny,allow 
     Deny from all 
    </Directory> 
    <Directory /var/www/qvbn-app-web-ctrl> 
     Options FollowSymLinks 
     AllowOverride AuthConfig FileInfo 
     Order allow,deny 
     Allow from all 
     Header set Access-Control-Allow-Origin "*" 
    </Directory> 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    LogLevel warn 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

quando sto cercando di ricaricare apache2 che sta dando errore come:

Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration 
    Action 'configtest' failed. 

Non so come abilitare CORS. Ho seguito questo: http://enable-cors.org/server_apache.html

risposta

2

messo il seguente nel file .htaccess del sito (in/var/www/XXX):

Header set Access-Control-Allow-Origin "*" 

invece del file .conf.

Si potrà anche utilizzare

AllowOverride All 

nel file .conf per il dominio in modo Apache lo guarda.

0

Abilita mod_headers in Apache2 per essere in grado di utilizzare la direttiva Intestazione:

a2enmod headers 
-1

Si può anche mettere sotto il codice al file httaccess così da permettere CORS utilizzando file .htaccess

######################## Handling Options for the CORS 
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ $1 [L,R=204] 

## ################### Aggiungi intestazioni personalizzate Set intestazione X-Content-Type-Options "nosniff" Set intestazione X-XSS-Protection "1; mode = block" # Imposta sempre queste intestazioni per CORS. L'intestazione imposta sempre Access-Control-Max-Age 1728000 L'intestazione imposta sempre Access-Control-Allow-Origin: "*" L'intestazione imposta sempre Access-Control-Allow-Methods: "OTTIENI, POST, OPZIONI, ELIMINA, INSERIRE" L'intestazione imposta sempre Access-Control-Allow-Headers: "DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, C $ Intestazione sempre impostata Accesso -Control-Allow-credenziali vere

fini informazioni, si può anche avere uno sguardo a questo articolo http://www.ipragmatech.com/enable-cors-using-htaccess/ che permettono CORS intestazione.

10
OS=GNU/Linux Debian 
Httpd=Apache/2.4.10 

Variazione /etc/apach2/apache2.conf

<Directory /var/www/html> 
    Order Allow,Deny 
    Allow from all 
    AllowOverride all 
    Header set Access-Control-Allow-Origin "*" 
</Directory> 

Add/attivare modulo

a2enmod headers 

servizio Riavvia

/etc/init.t/apache2 restart 
+1

Grazie per aver ricordato l'attivazione del modulo. – mkudlacek

+0

Siete i benvenuti, solo cercando di fornire tutti i dettagli. –

+1

Grazie mille..stato bloccato da tanto tempo .. Stavo provando a farlo da LocationMatch e tutto .. ma questo ha funzionato come un fascino –

Problemi correlati