请教一下各位有关于Centos的反向代理问题

请教下各位有关反向代理的问题,

Centos8环境下有什么程序或工具能将指定的域名解析到本地端口吗?尝试过Apache和Nginx的反向代理,但是似乎只能代理一个端口

如下Nginx配置后会直接把所有80端口的访问全部指向http://location:19130,

    server {
        listen       80;
        location / {
        proxy_pass http://location:19130;
        }
    }

如果还想代理其它本地端口只能再增加一个server块并监听另一个端口

假设仅监听80端口,而后根据域名分别指向某本地端口是否可行?
比如:
访问a.x-x.cn指向http://location:19130,
访问b.x-x.cn指向http://location:19131,
访问c.x-x.cn指向http://location:19132/;

类似于Apache的vhost.map文件那样,只不过指向的是本地端口而不是本地路径

谢谢各位解惑

基于Monster 组和GPT的调写:
用Nginx的server_name指令来实现将不同的域名指向不同的本地端口的目的。下面是一个示例配置:

server {
    listen       80;
    server_name  a.x-x.cn;

    location / {
        proxy_pass http://location:19130;
    }
}

server {
    listen       80;
    server_name  b.x-x.cn;

    location / {
        proxy_pass http://location:19131;
    }
}

server {
    listen       80;
    server_name  c.x-x.cn;

    location / {
        proxy_pass http://location:19132;
    }
}


每个server块都使用不同的server_name指令来匹配不同的域名,并将请求代理到相应的本地端口上。如果需要添加更多的域名,只需复制其中一个server块并更改server_name和proxy_pass指令即可。

# nginx.conf

http {
  # ...

  # 定义域名解析规则,将 a.x-x.cn 解析到 127.0.0.1:19130,将 b.x-x.cn 解析到 127.0.0.1:19131,将 c.x-x.cn 解析到 127.0.0.1:19132
  resolver 127.0.0.1;
  resolver_timeout 5s;
  server {
    listen 80;
    server_name a.x-x.cn b.x-x.cn c.x-x.cn;
    location / {
      proxy_pass http://127.0.0.1:$server_port;
    }
  }

  # ...
}


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^