首页 > 解决方案 > 裸域名在js中创建Websocket失败

问题描述

我有一个从 javascript 启动的网络套接字,它连接到一个域(例如我的域):

let socket = new WebSocket("ws://www.my-domain.com/ws");

如果我进入浏览器并输入 www.my-domain.com 一切正常。但是,对于短域名(即没有 www)(http://my-domain.com),websocket 的打开失败。

我在 Firefox 上进行了测试:Firefox 无法与位于 ws://www.my-domain.com/ws 的服务器建立连接。

编辑:服务器在 GO 中完成

http.HandleFunc("/ws", wsHandler)
http.HandleFunc("/", rootHandler)
panic(http.ListenAndServe(":80", nil))

func (this *server) wsHandler(w http.ResponseWriter, r *http.Request) {
    if r.Header.Get("Origin") != "http://"+r.Host {
        http.Error(w, "Origin not allowed", 403)
        return
    }
    ...

标签: javascriptjava-websocket

解决方案


推荐阅读