Nginx作為靜態資源web服務之跨域訪問


 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



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM