(go)Upgrade failed: websocket: request origin not allowed by Upgrader.CheckOrigin

nicevoice 2024-07-08 AM 55℃ 0条

在gin框架下使用websocket , 如果是跨域请求的时候会报这个错误
request origin not allowed by Upgrader.CheckOrigin
使用的websocket库是 "github.com/gorilla/websocket"
需要增加以下代码:
upgrader = websocket.Upgrader{

    ReadBufferSize:  1024,
    WriteBufferSize: 1024,
    // 解决跨域问题
    CheckOrigin: func(r *http.Request) bool {
        return true
    },
}

或者添加指定的网站
import (

"net/http"
"github.com/gin-gonic/gin"
"github.com/gorilla/websocket"

)

var upgrader = websocket.Upgrader{

CheckOrigin: func(r *http.Request) bool {
    // 检查请求的Origin头部,只允许特定的源
    origin := r.Header.Get("Origin")
    allowedOrigins := []string{
        "http://example.com",
        "https://example.com",
        "http://subdomain.example.com",
        "https://subdomain.example.com",
    }

    for _, allowedOrigin := range allowedOrigins {
        if origin == allowedOrigin {
            return true
        }
    }

    // 如果Origin不在允许列表中,则拒绝连接
    return false
},

}


扫描二维码,在手机上阅读!
标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~