如何将可信来源添加到大猩猩 websocket 的 CheckOrigin?
How to add a trusted origin to gorilla websocket's CheckOrigin?
我正在开发一个基于 websocket 的应用程序,其中前端位于 vue.js 运行 端口 127.0.0.1:8080
中,后端位于 golang 运行 端口 127.0.0.1:3000
。
前端应该与以下人员通信:
serverUrl: "ws://127.0.0.1:3000/ws",
为了避免 CORS 问题,我不得不 return true
for CheckOrigin
:
var upgrader = websocket.Upgrader{
ReadBufferSize: 4096,
WriteBufferSize: 4096,
CheckOrigin: func(r *http.Request) bool {
return true
},
}
但是我知道这并不安全,因为这为任何 IP 连接到支持的 IP 敞开了大门。我的问题是如何限制它,使其只允许来自 127.0.0.1:8080
的请求?
我查看了 the docs 但找不到如何查看。
Return true 来自 CheckOrigin function if the origin 是受信任的站点。
CheckOrigin: func(r *http.Request) bool {
origin := r.Header.Get("Origin")
return origin == "http://127.0.0.1:8080"
},
我正在开发一个基于 websocket 的应用程序,其中前端位于 vue.js 运行 端口 127.0.0.1:8080
中,后端位于 golang 运行 端口 127.0.0.1:3000
。
前端应该与以下人员通信:
serverUrl: "ws://127.0.0.1:3000/ws",
为了避免 CORS 问题,我不得不 return true
for CheckOrigin
:
var upgrader = websocket.Upgrader{
ReadBufferSize: 4096,
WriteBufferSize: 4096,
CheckOrigin: func(r *http.Request) bool {
return true
},
}
但是我知道这并不安全,因为这为任何 IP 连接到支持的 IP 敞开了大门。我的问题是如何限制它,使其只允许来自 127.0.0.1:8080
的请求?
我查看了 the docs 但找不到如何查看。
Return true 来自 CheckOrigin function if the origin 是受信任的站点。
CheckOrigin: func(r *http.Request) bool {
origin := r.Header.Get("Origin")
return origin == "http://127.0.0.1:8080"
},