使用代理服务器在 Golang 应用程序之间切换

Using Proxy server to switch between Golang Applications

我有一台装有 CentOS 的服务器,那里至少有 4 个 Golang 应用程序 运行,每个应用程序都是一个不同的站点,我应该可以在浏览器中使用 [=28] =]如下:

所以,我需要配置某种软件,将请求重定向到正确的 Golang 进程。每个站点都会 运行 在不同的端口,所以例如如果有人调用 dev00.mysite.com 我应该能够将该请求发送到 dev00 站点的进程(这是为了开发 porpouses,而不是生产)。所以,在这里,我开始相信我在阅读时需要 Nginx 或 Caddy,但我对其中 none 没有经验。 有人可以确认这是解决该问题的方法吗?我在哪里可以找到重定向到 Golang 应用程序的任何服务器的配置示例?

而且,如果将来在同一台服务器中有很多(真的很多)域 运行,那么哪个服务器更好?高负载谁更好?

是的,Nginx 可以解决你的问题:

  1. 使用 Go 或 Caddy 的标准库启动 Web 服务器。
  2. 使用 Nginx 将请求重定向到 Go 应用程序:

示例 Nginx 配置:

server {
    listen 80;
    server_name dev00.mysite.com;
    ...

    location / {
        proxy_pass http://localhost:8000;
        ...
    }
}

server {
    listen 80;
    server_name dev01.mysite.com;
    ...

    location / {
        proxy_pass http://localhost:8001;
        ...
    }
}