Apache2 同源策略解決方案 - 配置 CORS

什麼是同源策略

如今的瀏覽器大多配有同源策略(Same-Origin Policy),具體表現以下:html

瀏覽某一網站,例如 http://www.decembercafe.org/。這個網頁中的 Ajax 請求(XMLHttpRequest)試圖獲取另外一個網站(例如 http://www.csdn.net/)的數據時,會發生錯誤。apache

具體錯誤以下,Chrome 提示瀏覽器

XMLHttpRequest cannot load **. No ‘Access-Control-Allow-Origin’
header is present on the requested resource. Origin ‘null’ is
therefore not allowed access.bash

Apache2 裏配置 CORS

CORS 是其中一種解決方案。服務器

某一網站在服務器端配置了 CORS 後,就能夠接受其它域名發送來的 XMLHttpRequest 請求。markdown

Apache2 裏配置 CORS 的步驟以下。cors

找到配置文件,ide

/etc/apache2/apache2.conf

打開後,找到,網站

<Directory /var/www>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

將下面的語句加到倒數第二行:ui

Header set Access-Control-Allow-Origin*

保存後,執行下列語句,以確保語法正確:

apachectl -t

而後執行下列語句,從新調用配置。

sudo service apache2 reload

默認狀況下,mod_headers是開啓的,爲防萬一,可用如下語句開啓

a2enmod headers

參考資料

[1] http://enable-cors.org/server_apache.html

相關文章
相關標籤/搜索