zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Nginx 实现监听同一端口转发不同应用

应用Nginx 实现 不同 端口 监听 转发 同一
2023-09-14 09:16:41 时间
#多个应用,一般是通过IP加端口的方式访问,如果两个应用都通过同一端口访问,可以通过Ngnix转发

服务器:192.168.0.109    端口 80

应用一:music.proxy.com  端口 81
应用二:video.proxy.com  端口 82

实现需求:
1、访问 music.proxy.com 时,自动将请求转发给端口号为 81 的应用处理
2、访问 video.proxy.com 时,自动将请求转发给端口号为 82 的应用处理

1、添加本地 host 解析

#把两个域名同时指向解析到 192.168.0.109
# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
192.168.0.109       music.proxy.com
192.168.0.109       video.proxy.com

2、配置文件

upstream music{
    server 127.0.0.1:81;
}

upstream video{
    server 127.0.0.1:82;
}

server {
    listen       80;
    server_name  music.proxy.com;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://music;
    }
}

server {
    listen       80;
    server_name  video.proxy.com;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://video;
    }
}