成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

SpringCloud前后端分離后引起跨域訪問的示例分析

這篇文章主要為大家展示了“SpringCloud前后端分離后引起跨域訪問的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“SpringCloud前后端分離后引起跨域訪問的示例分析”這篇文章吧。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、凌海ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的凌海網(wǎng)站制作公司

Spring Cloud 微服務(wù)試點改造,目前在嘗試前后端分離。

前臺A應(yīng)用(本機8080端口),通過網(wǎng)管(本機8769端口)調(diào)用后臺應(yīng)用B(本機8082端口)、應(yīng)用C發(fā)布的http服務(wù)。

SpringCloud前后端分離后引起跨域訪問的示例分析SpringCloud前后端分離后引起跨域訪問的示例分析

A的js代碼如下:

SpringCloud前后端分離后引起跨域訪問的示例分析

運行后報錯:

XMLHttpRequest cannot load http://127.0.0.1:8769/service-B/getResInfo. No 'Access-Control-Allow-Origin' header is present on the requested resource.

Origin 'http://localhost:8080' is therefore not allowed access.

問題原因:A的前臺訪問B應(yīng)用,導(dǎo)致了跨域。

跨域訪問違反了同源策略,同源策略規(guī)定:瀏覽器的ajax只能訪問跟它的前臺頁面同源(相同域名或IP)的資源。

也就是說,如果A的前臺訪問A的后臺,則不會跨域。。

解決方案

方案一:

在被調(diào)用的類或方法上增加@CrossOrigin注解來聲明自己支持跨域訪問

origins=*表示允許所有來源都支持,也可以定義特定的來源,比如http://domain1.com

allowCredentials=true 表示response里會增加標(biāo)示Access-Control-Allow-Credentials=true

SpringCloud前后端分離后引起跨域訪問的示例分析

如果只是針對某個服務(wù)需要被跨域訪問,用此方案可行。

但由于我們進行了前后端分離,前臺調(diào)用的都是跨域的服務(wù),此方案需要對幾乎所有的B、C應(yīng)用的服務(wù)對應(yīng)的方法或者類上增加注解,不太合適。

而且,如果B、C服務(wù)都開放了跨域訪問,則可能存在安全隱患,因為其他未知應(yīng)用也可以訪問這些服務(wù)。。

方案二:

在網(wǎng)管zuul里增加CorsFilter過濾器,比如下圖直接在啟動類里增加紅色部分代碼。

SpringCloud前后端分離后引起跨域訪問的示例分析

由于此方案是增加到網(wǎng)管上的,對B、C應(yīng)用的代碼都無任何改造。

且因為B、C未直接開放跨域訪問,所以其他應(yīng)用無法跨越訪問B、C服務(wù),比如A不經(jīng)過網(wǎng)關(guān)直接訪問B、C應(yīng)用會訪問失敗。

后續(xù)會對網(wǎng)管應(yīng)用裝配上SSO進行單點登錄校驗,來更好的保障服務(wù)安全。

以上是“SpringCloud前后端分離后引起跨域訪問的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享題目:SpringCloud前后端分離后引起跨域訪問的示例分析
文章位置:http://jinyejixie.com/article6/gdjcog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、自適應(yīng)網(wǎng)站網(wǎng)站收錄、App設(shè)計網(wǎng)站排名、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
麻阳| 奇台县| 班玛县| 嘉鱼县| 财经| 武冈市| 大余县| 长春市| 深泽县| 安西县| 奉节县| 独山县| 盐城市| 平果县| 元朗区| 杂多县| 德令哈市| 普兰店市| 泗阳县| 桐柏县| 西峡县| 泌阳县| 姜堰市| 沙河市| 景泰县| 蚌埠市| 兴隆县| 青河县| 拉萨市| 安塞县| 鹤壁市| 怀安县| 克拉玛依市| 阜康市| 蒲江县| 翼城县| 阿鲁科尔沁旗| 金华市| 太白县| 桂东县| 北川|