使用 Beego 将服务器 API 转发到另一个端口

Forward server API to another port using Beego

我在同一个虚拟机中有两个 Web 应用程序 运行。一个是Beego监听443端口,一个是8000端口的Centrifugo消息服务器。

如果一个用户由于他的 ISP 不允许连接端口 8000,我是否可以转发 https://my.domain/chat_api (intercepted by Beego at port 443) to https://my.domain:8000/chat_api(由 Centrifugo 在端口 8000 提供服务),以便我的聊天客户端连接端口 443 就像连接8000端口?如果是,在Beego的架构下如何实现?

你不需要在Beego中实现这个。

刚刚设置了一个反向代理:(这里是一个如何使用nginx设置反向代理的例子)

server {
   listen 443;
   server_name example.com;

   location /chat_api {
      proxy_set_header   X-Forwarded-For $remote_addr;
      proxy_set_header   Host $http_host;
      proxy_pass         "http://127.0.0.1:8000";
   }
   location /beego {
      proxy_set_header   X-Forwarded-For $remote_addr;
      proxy_set_header   Host $http_host;
      proxy_pass         "http://127.0.0.1:8080";
   }
}