2015-03-19 5 views
5

Это мой файл конфигурации.Как разрешить запрос перекрестного домена в 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> 

Когда я пытаюсь перезагрузить apache2 он дает ошибку, как:

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

Я не знаю, как включить CORS. Я следовал за этим: http://enable-cors.org/server_apache.html

ответ

2

поместите в файл .htaccess сайта (в/вар/WWW/XXX):

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

вместо файла .conf.

Вы также хотите использовать

AllowOverride All 

в файле .conf для домена так Apache смотрит на него.

0

Включить mod_headers в Apache2, чтобы иметь возможность использовать жатку директиву:

a2enmod headers 
-1

Вы также можете поместить ниже код в файл httaccess, а также разрешить CORS используя файл .htaccess

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

## ################### Добавить пользовательские заголовки Набор заголовков X-Content-Type-Options "nosniff" Набор заголовков X-XSS-Protection "1; mode = block" # Всегда устанавливайте эти заголовки для CORS. Header всегда устанавливает Access-Control-Max-Age 1728000 Header всегда устанавливает Access-Control-Allow-Origin: «*» Заголовок всегда задает методы доступа-контроля-разрешения: «GET, POST, OPTIONS, DELETE, PUT» Заголовок всегда устанавливает Access-Control-Allow-Headers: «DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, C $ Заголовок всегда задает доступ -контроль-Allow-Credentials истинные

Для информационных целей, Вы также можете взглянуть на эту статью http://www.ipragmatech.com/enable-cors-using-htaccess/ которые позволяют CORS заголовок.

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

Изменение /etc/apach2/apache2.conf

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

Добавить/активировать модуль

a2enmod headers 

Перезапуск службы

/etc/init.t/apache2 restart 
+1

Спасибо за указание на активацию модуля. – mkudlacek

+0

Вы очень желанны, просто пытаетесь предоставить все детали. –

+1

Спасибо большое .. застрял в этом в течение долгого времени .. Я пытался это сделать по LocationMatch и все .. но это работало как шарм –

Смежные вопросы