<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
JavaScript
實施的安全限制,所謂同源(即指在同一個域)就是兩個頁面具有相同的協定 protocol
,主機 host
和埠號 port
則就會造成 跨域場景的跨域場景有哪些,請參考下表
當前url | 請求url | 是否跨域 | 原因 |
---|---|---|---|
http://www.autofelix.cn | http://www.autofelix.cn/api.php | 否 | 協定/域名/埠都相同 |
http://www.autofelix.cn | https://www.autofelix.cn/api.php | 是 | 協定不同 |
http://www.autofelix.cn | http://www.rabbit.cn | 是 | 主域名不同 |
http://www.autofelix.cn | http://api.autofelix.cn | 是 | 子域名不同 |
http://www.autofelix.cn:80 | http://www.autofelix.cn:8080 | 是 | 埠不同 |
nginx
反向代理實現跨域,是最簡單的跨域方式nginx
的設定即可解決跨域問題,支援所有瀏覽器,支援session
,不需要修改任何程式碼,並且不會影響伺服器效能// nginx設定 server { listen 81; server_name www.domain1.com; location / { proxy_pass http://www.domain2.com:8080; #反向代理 proxy_cookie_domain www.domain2.com www.domain1.com; #修改cookie裡域名 index index.html index.htm; # 當用webpack-dev-server等中介軟體代理介面存取nignx時,此時無瀏覽器參與,故沒有同源限制,下面的跨域設定可不啟用 add_header Access-Control-Allow-Origin http://www.domain1.com; #當前端只跨域不帶cookie時,可為* add_header Access-Control-Allow-Credentials true; } }
jsonp請求
jsonp
是伺服器與使用者端跨源通訊的常用方法。最大特點就是簡單適用,相容性好 相容低版本IE
,缺點是隻支援 get
請求,不支援 post
請求<script>
元素,向伺服器請求 json
資料,伺服器收到請求後,將資料放在一個指定名字的回撥函數的引數位置傳回來//jquery實現 <script> $.getJSON('http://autofelix.com/api.php&callback=?', function(res) { // 處理獲得的資料 console.log(res) }); </script>
http://www.autofelix.cn
需要呼叫 http://api.autofelix.cn/userinfo
去獲取使用者資料,因為子域名不同,會有跨域限制http://www.autofelix.cn
下的 php
檔案,比如 http://www.autofelix.cn/api.php
,然後再通過該 php
檔案返回資料// api.php 檔案中的程式碼 public function getCurl($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); $result = curl_exec($ch); curl_close($ch); return $result; } $result = getCurl('http://api.autofelix.cn/userinfo'); return $result;
php
作為案例// 允許所有域名存取 header('Access-Control-Allow-Origin: *'); // 允許單個域名存取 header('Access-Control-Allow-Origin: https://autofelix.com'); // 允許多個自定義域名存取 static public $originarr = [ 'https://autofelix.com', 'https://baidu.com', 'https://csdn.net', ]; // 獲取當前跨域域名 $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : ''; if (in_array($origin, self::$originarr)) { // 允許 $originarr 陣列內的 域名跨域存取 header('Access-Control-Allow-Origin:' . $origin); // 響應型別 header('Access-Control-Allow-Methods:POST,GET'); // 帶 cookie 的跨域存取 header('Access-Control-Allow-Credentials: true'); // 響應頭設定 header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token'); }
到此這篇關於Nginx跨域問題解析與解決的文章就介紹到這了,更多相關Nginx跨域內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45