一尘不染

在一个IP上托管多个Golang站点并根据域请求提供服务?

go

我正在安装Ubuntu的情况下运行VPS。如何在不指定网址(xxx.xxx.xxx.xxx:8084)的情况下,使用相同的VPS(相同IP)为多个Golang网站提供服务?

例如, Golang应用程序1正在侦听端口8084,Golang应用程序2正在侦听端口8060
。我希望有人从域请求时提供Golang应用程序1,有人从域请求时提供example1.comGolang应用程序2 example2.com

我确定您可以使用Nginx进行此操作,但是我还无法弄清楚该怎么做。


阅读 213

收藏
2020-07-02

共1个答案

一尘不染

请尝试以下代码,

server {
   ...
   server_name www.example1.com example1.com;
   ...
   location / {
      proxy_pass app_ip:8084;
   }
   ...
}

...

server {
   ...
   server_name www.example2.com example2.com;
   ...
   location / {
      proxy_pass app_ip:8060;
   }
   ...
}

app_ip是托管主机的计算机的IP,如果在同一计算机上,则放置http://127.0.0.1http://localhost

2020-07-02