linux端口转发是什么

发布时间 - 2022-03-11 00:00:00    点击率:
在linux中,端口转发是指用Nginx监听端口,当有HTTP请求到来时,将HTTP请求的HOST等信息与其配置文件进行匹配并转发给对应的应用;端口转发可以用于不加端口就访问域名。

本教程操作环境:linux7.3系统、Dell G3电脑。

linux端口转发是什么

什么是端口转发

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

localhost:8001    //资料
localhost:8002    //下载

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

#配置负载均衡池
#Demo1负载均衡池
upstream linux_pool{undefined
server 127.0.0.1:8001;
}
#Demo2负载均衡池
upstream m_pool{undefined
server 127.0.0.1:8002;
}
#Demo1端口转发
server {undefined
listen      80;
server_name  linux.linuxidc.com;
access_log logs/linux.log;
error_log logs/linux.error;
#将所有请求转发给demo_pool池的应用处理
location / {undefined
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://linux_pool;
}
}
#Demo2端口转发
server {undefined
listen      80;
server_name  m.linuxidc.com;
access_log logs/m.log;
error_log logs/m.error;
#将所有请求转发给demo_pool池的应用处理
location / {undefined
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://m_pool;
}
}

上面这段配置实现了:

1、当用户访问的域名是:http://linux.linuxidc.com 时,我们自动将其请求转发给端口号为 8001 的 Tomcat 应用处理。

2、当用户访问的域名是:http://m.linuxidc.com 时,我们自动将其请求转发给端口号为 8002 的 Tomcat 应用处理。

上面的这种技术实现就是端口转发。端口转发指的是由软件统一监听某个域名上的某个端口(一般是80端口),当访问服务器的域名和端口符合要求时,就按照配置转发给指定的 Tomcat 服务器处理。我们常用的 Nginx 也有端口转发功能。

相关推荐:《Linux视频教程》


# linux  # tomcat  # nginx  # http  # 转发给  # 配置文件  # 将其  # 负载均衡  # 将此  # 不加  # 来时  # 都是  # 端口号  # 器上 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在万网ECS上快速搭建专属网站?  如何在腾讯云服务器上快速搭建个人网站?  JavaScript如何操作视频_媒体API怎么控制播放  如何在万网自助建站平台快速创建网站?  如何用美橙互联一键搭建多站合一网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何获取PHP WAP自助建站系统源码?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何在阿里云购买域名并搭建网站?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  北京网站制作的公司有哪些,北京白云观官方网站?  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何在万网主机上快速搭建网站?  bing浏览器学术搜索入口_bing学术文献检索地址  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何实现API速率限制?(Rate Limiting教程)  *服务器网站为何频现安全漏洞?  Python进程池调度策略_任务分发说明【指导】  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  高端建站如何打造兼具美学与转化的品牌官网?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  中国移动官方网站首页入口 中国移动官网网页登录  用yum安装MySQLdb模块的步骤方法  javascript中的try catch异常捕获机制用法分析  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  零基础网站服务器架设实战:轻量应用与域名解析配置指南  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  nginx修改上传文件大小限制的方法  如何快速搭建高效香港服务器网站?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  如何用JavaScript实现文本编辑器_光标和选区怎么处理  香港服务器如何优化才能显著提升网站加载速度?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何自定义建站之星模板颜色并下载新样式?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  Android使用GridView实现日历的简单功能  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel如何使用Eloquent进行子查询  如何快速使用云服务器搭建个人网站?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  用v-html解决Vue.js渲染中html标签不被解析的问题  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  如何在新浪SAE免费搭建个人博客?