nginx实现ip端口转发_Nginx 实现端口转发

本文介绍了如何使用 Nginx 实现端口转发,以解决多个应用共用 80 端口的问题。通过配置 Nginx 的 upstream 负载均衡池和 server 块,可以将不同域名的请求转发到对应的应用端口。例如,通过 book.chanshuyi.com 访问 8001 端口的图书应用,通过 movie.chanshuyi.com 访问 8002 端口的电影应用。配置关键包括设置 proxy_set_header 和 proxy_pass。
摘要由CSDN通过智能技术生成

什么是端口转发

当我们在服务器上搭建一个图书以及一个电影的应用,其中图书应用启动了 8001 端口,电影应用启动了 8002 端口。此时如果我们可以通过

localhost:8001 //图书

localhost:8002 //电影

但我们一般访问应用的时候都是希望不加端口就访问域名,也即两个应用都通过 80 端口访问。但我们知道服务器上的一个端口只能被一个程序使用,这时候如何该怎么办呢?一个常用的方法是用 Nginx 进行端口转发。Nginx 的实现原理是:用 Nginx 监听 80 端口,当有 HTTP 请求到来时,将 HTTP 请求的 HOST 等信息与其配置文件进行匹配并转发给对应的应用。例如当用户访问 book.douban.com 时,Nginx 从配置文件中知道这个是图书应用的 HTTP 请求,于是将此请求转发给 8001 端口的应用处理。当用户访问 movie.douban.com 时,Nginx 从配置文件中知道这个是电影应用的 HTTP 请求,于是将此请求转发给 8002 端口的应用处理。一个简单的 Nginx 配置文件(部分)如下面所示:

#配置负载均衡池

#Demo1负载均衡池

upstream book_pool{

server127.0.0.1:8001;

}

#Demo2负载均衡池

upstream movie_pool{

server127.0.0.1:8002;

}

#Demo1端口转发

server {

listen80;

server_name book.chanshuyi.com;

access_log logs/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值