我的主机在5个不同的端口(5000-5004)上运行着5个服务。我的主机不接受80以外的任何端口上的远程连接。因此,我需要在端口80上运行某些服务,该服务可以接受传入请求(例如http://1.1.1.1:80?5000),并将其转发到请求中提到的端口(此处为5000)。是否可以通过Nginx还是我需要任何其他负载均衡器?
server {
listen 80;
server_name example.com #or your ip, or your host if you prefer
location / {
proxy_pass http://your_service_ip.com:$args;
}
}
$ args包含“?”之后的任何东西。
当然,这是一个基本示例,您应该添加将代理正确传递到服务所需的所有参数。另一种方法是将args映射到名为port和proxy的变量到该端口。