如今的瀏覽器大多配有同源策略(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
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