国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx的端口轉發怎么實現?

2024-08-30 12:22:57
字體:
來源:轉載
供稿:網友
  什么是端口轉發
  當我們在服務器上搭建一個資料以及一個下載的應用,其中資料應用啟動了 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{
  server 127.0.0.1:8001;
  }
  #Demo2負載均衡池
  upstream m_pool{
  server 127.0.0.1:8002;
  }
  #Demo1端口轉發
  server {
  listen      80;
  server_name  linux.linuxidc.com;
  access_log logs/linux.log;
  error_log logs/linux.error;
  #將所有請求轉發給demo_pool池的應用處理
  location / {
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://linux_pool;
  }
  }
  #Demo2端口轉發
  server {
  listen      80;
  server_name  m.linuxidc.com;
  access_log logs/m.log;
  error_log logs/m.error;
  #將所有請求轉發給demo_pool池的應用處理
  location / {
  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 也有端口轉發功能。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 星座| 双江| 青浦区| 肥东县| 古浪县| 苏州市| 汪清县| 固镇县| 汝阳县| 长海县| 天门市| 华宁县| 昆明市| 囊谦县| 迁安市| 大同市| 高尔夫| 旬邑县| 平潭县| 林口县| 双辽市| 绍兴县| 陈巴尔虎旗| 方山县| 吉安县| 嘉祥县| 正安县| 兴宁市| 云霄县| 岳阳市| 东明县| 青河县| 集贤县| 尉氏县| 麻江县| 萍乡市| 板桥市| 涟水县| 五河县| 运城市| 榆中县|