首页 >

linux端口转发是什么

运维|linux运维linux端口转发是什么
linux
运维-linux运维
源码搜搜账户,vscode 下安装git,ubuntu.mate,tomcat的qps,sqlite实现查找姓名,独立下载页面插件,最简单的h5前端框架,仿生爬虫机器人视频,php静态化页面,抚顺seo优化模式,020网站管理系统模板,网页版裸体俄罗斯方块,thinkphp wap 模板lzw
linux端口转发是什么
上海傲玩源码,vscode不显示运行结果,ubuntu桌面失效,tomcat查看历史日志,flink实时爬虫,php判断是否纯数字,淘宝现在还能做seo吗,记账网站源码,discuz 新闻频道模板lzw
什么是端口转发
方维一元夺宝源码系统2.0,ubuntu很多指令没有,有的网页爬虫不了,php输出对齐,五八同城seolzw
当我们在服务器上搭建一个资料以及一个下载的应用,其中资料应用启动了 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{undefinedserver 127.0.0.1:8001;}#Demo2负载均衡池upstream m_pool{undefinedserver 127.0.0.1:8002;}#Demo1端口转发server {undefinedlisten      80;server_name  linux.linuxidc.com;access_log logs/linux.log;error_log logs/linux.error;#将所有请求转发给demo_pool池的应用处理location / {undefinedproxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://linux_pool;}}#Demo2端口转发server {undefinedlisten      80;server_name  m.linuxidc.com;access_log logs/m.log;error_log logs/m.error;#将所有请求转发给demo_pool池的应用处理location / {undefinedproxy_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视频教学》


  • 暂无相关文章
  • Posted in 未分类