Nginx 实现监听同一端口转发不同应用
原创
©著作权归作者所有:来自51CTO博客作者Tom马的原创作品,请联系作者获取转载授权,否则将追究法律责任
#多个应用,一般是通过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;
}
}