javascript - 裸域名在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
}
...
解决方案
推荐阅读
- python - 来回循环 Python
- php - 如何在php中从服务器获取日期和时间
- java - 如何使用 Java 从日志文件中提取 sql 查询行?
- angular - Ionic 4 - 如何使用 navCtrl 或路由器服务在页面之间传递数据
- c++ - 在我的项目中包含 C++ 库的最佳实践
- javascript - 如何从服务器响应中提取 JWT 令牌?
- reactjs - 在 React 渲染之前等待多个异步调用完成
- kubernetes - 无法分配 Pod 并出现 FailedScheduling 错误
- java - spring shell 2中的命令颜色
- python - 如何在 Python 中为 WPF 定义用户控件?