Nginx作為靜態資源web服務之跨域訪問
跨域,指的是瀏覽器不能執行其他網站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制。
所謂同源是指,域名,協議,端口均相同,不明白沒關系,舉個栗子:
http://www.123.com/index.html 調用 http://www.123.com/server.php (非跨域)
http://www.123.com/index.html 調用 http://www.456.com/server.php (主域名不同:123/456,跨域)
http://abc.123.com/index.html 調用 http://def.123.com/server.php (子域名不同:abc/def,跨域)
http://www.123.com:8080/index.html 調用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.123.com/index.html 調用 https://www.123.com/server.php (協議不同:http/https,跨域)
請注意:localhost和127.0.0.1雖然都指向本機,但也屬於跨域。
瀏覽器執行javascript腳本時,會檢查這個腳本屬於哪個頁面,如果不是同源頁面,就不會被執行。
瀏覽器為了安全,限制了跨域的訪問,實際上如果服務端在返回的頭信息中添加了 Access-Control-Allow-Origin參數的話,表明服務
端允許跨站訪問,那么瀏覽器則不會在阻止跨域訪問了,因此可以巧妙地利用nginx方向代理來實現跨域訪問。
配置語法:add_header name value [always];
默認配置:沒有配置;
配置路徑:http、server、location、if in lication下;
由於我沒有域名,測試不了跨域訪問,因此找到一篇博客,該博客寫的跟我的意思一致
概念描述參考 http://blog.csdn.net/smq29661318/article/details/51023558
實現方式參考 https://my.oschina.net/yzChen/blog/1573828
