首頁  >  文章  >  運維  >  linux連接埠轉送是什麼

linux連接埠轉送是什麼

WBOY
WBOY原創
2022-03-11 10:41:402814瀏覽

在linux中,端口轉送是指用Nginx監聽端口,當有HTTP請求到來時,將HTTP請求的HOST等信息與其配置文件進行匹配並轉發給對應的應用;端口轉送可以用於不加埠就造訪網域名稱。

linux連接埠轉送是什麼

本教學操作環境: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連接埠轉送是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn