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

时间:2017-04-01 21:17:09

标签: http go https beego

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

如果由于他的ISP而不允许用户连接端口8000,我是否有可能将https://my.domain/chat_api(由Beego在端口443拦截)转发到https://my.domain:8000/chat_api(由Centrifugo在端口8000提供服务) ),以便我的聊天客户端连接端口443就像连接端口8000一样?如果是,我如何在Beego的结构下实施?

1 个答案:

答案 0 :(得分:1)

你不需要在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";
   }
}