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

提问

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

例如,Golang应用程序1正在侦听端口8084,而Golang应用程序2正在侦听端口8060.当有人从域example1.com和Golang应用程序2请求来自域example2请求时,我希望Golang应用程序1被提供服务.COM.

我相信你可以用Nginx做到这一点但我无法弄清楚如何做到这一点.

最佳答案

请尝试以下代码,

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.1或http:// localhost

评论