Apache 将 Websocket 转发到 Golang

标签 apache go forwarding

我网站的大部分内容都是用 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/

相关文章:

java - 使用appfuse创建新项目

gcc - 通过 Windows cgo->gcc->ld 进行 DLL 链接会出现 "undefined-reference-to-(function)"错误

php websocket转发到nodejs

c++ - 完美转发的身份功能

ruby-on-rails - 不以 '/' 结尾的 Apache/Rails/Passenger 目录 URL 失败到 404

php - 任何导致内部服务器错误的 .php 文件

rest - 带有字符串数据的 POST golang 请求

macos - 在 Mac 上访问 Docker 转发端口

php - 当我使用 httpPost 从 android 设备调用它时,我的 php 代码出错

time - golang中 "Mon Jan 2 15:04:05 MST 2006"的由来