在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/GO  網(wǎng)絡(luò)安全/ Beego允許跨域請求問題

Beego允許跨域請求問題

場景:

A項目為Beego后端服務(wù),B項目為某前端UI服務(wù)
B服務(wù)向A服務(wù)發(fā)起跨域請求

A項目處理跨域方法,

main.go文件中,添加如下

clipboard.png

結(jié)果

瀏覽器提示:

clipboard.png

A項目后臺提示:

clipboard.png

我的問題
顯然,問題在于跨域請求時,預(yù)檢請求沒有通過,,但是A后臺雖然提示 OPTIONS no match,但是返回值還是200,這是為什么呢?以及怎么解決OPTIONS 不通過問題呢???

回答
編輯回答
祈歡

Access-Control-Allow-Origin 添加這個響應(yīng)頭就可以了,
Option第一次請求的時候,發(fā)現(xiàn)存在這個頭,并且這個頭的設(shè)置允許你的域名就可以返回200 ,然后客戶端再次發(fā)起真正的請求

2017年11月25日 22:50
編輯回答
不討囍

我也遇到了這個問題,如下配置,使用websocket請求,提示websocket: 'Origin' header value not allowed,同求解決方案

beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
        AllowAllOrigins:  true,
        AllowMethods:     []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
        AllowHeaders:     []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
        ExposeHeaders:    []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
        AllowCredentials: true,
    }))
2018年1月4日 14:52
編輯回答
下墜

服務(wù)端加響應(yīng)頭,或者反向代理。

2018年7月9日 11:53
編輯回答
臭榴蓮

雖然我沒用過 beego 但是可以強(qiáng)答一下,允許的 header 設(shè)置完之后需要在中間件匹配 method = OPTIONS 的請求同時立即結(jié)束請求并響應(yīng) 200

另外推薦加入 Access-Control-Max-Age 的 header 減少前端 preflight 的請求次數(shù)

2018年7月15日 16:59