我网站的大部分内容都是用 PHP 和 Apache 交付的, 效果很好。 但是我想将 Websocket 用于一个页面(或多个页面)。 对于 Websocket 通信,我想使用 golang。 为了不让客户端遇到任何防火墙问题,Websocket 应该使用正常的 webport。 (在这种情况下是 443 - 对于 Websocket 的 SSL 版本)。
因为 Apache 已经在那个端口上监听,所以我需要它将 Websocket 请求(或对特定 URL 的请求)转发到我的 golang 程序。 (单个 golang 程序必须监听所有传入的 websocket 连接,以允许它们之间的轻松通信。)
有什么办法可以实现吗?
最佳答案
其中一个 Web 服务器必须代理另一个。因此,您需要将 Apache 配置为将请求代理到您的 Golang 程序,或者将反向代理合并到您的 golang 程序中以处理 Apache 内容。
将 Apache 配置为代理可能比将反向代理包含到 Golang 代码中更容易,但有一个标准库:http://golang.org/pkg/net/http/httputil/
关于Apache 将 Websocket 转发到 Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18784605/