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

huangapple go评论142阅读模式
英文:

Forward server API to another port using Beego

问题

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

如果某个用户由于其 ISP 的限制无法连接到端口 8000,我是否可以将 https://my.domain/chat_api(由 Beego 拦截在端口 443 上)转发到 https://my.domain:8000/chat_api(由 Centrifugo 在端口 8000 上提供服务),这样我的聊天客户端就可以像连接端口 8000 一样连接到端口 443 吗?如果可以,我该如何在 Beego 的结构下实现这一点?

英文:

I have two web apps running in the same virtual machine. One is Beego listening to port 443, and another is Centrifugo messaging server at port 8000.

If a user is not allowed to connect port 8000 due to his ISP, is it possible that I forward https://my.domain/chat_api (intercepted by Beego at port 443) to https://my.domain:8000/chat_api (served by Centrifugo at port 8000), so that my chat client connects port 443 just like connecting port 8000? If yes, how do I implement under Beego's structure?

答案1

得分: 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";
   }
}

请注意,这是一个nginx的配置示例,用于将请求转发到指定的后端服务器。你需要将其中的example.com替换为你的域名,并根据实际情况修改代理的目标地址。

英文:

You dont need to implement this in Beego.

Just set up a reverse proxy: (here is an example how to set up a reverse proxy with 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";
   }
}

huangapple
  • 本文由 发表于 2017年4月2日 05:17:08
  • 转载请务必保留本文链接:https://go.coder-hub.com/43162125.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定