日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

說到 大名鼎鼎的 Nginx, 大家肯定都不陌生,不管是做運維,做開發,還是做網絡的都應該對他很熟悉。Nginx的功能很多,很強大,今天我主要是分享一下 Nginx 反向代理的常見用法。

 

什么是反向代理?

舉個例子: 

比如用戶去訪問百度,用戶在瀏覽器輸入www.baidu.com時,對于百度來說,瀏覽器就是客戶端。 
客戶端將請求發送到百度的代理服務器,由代理服務器去選擇目標服務器獲取數據后,在返回給客戶端。   

這樣做有三個好處: 

1、隱藏了目標服務器IP地址,暴露出去的只是代理服務器 
2、訪問量很大的時候可以輕松擴容,目標服務器可以有很多個 
3、客戶端對代理是無感知的,客戶端不需要任何配置就可以訪問

 

看下面這張圖 可能更直觀一些

 

Nginx  反向代理最常見的三種用法,建議收藏

 

 

現在來看一些Nginx 反向代理的實戰用法:

 

1、Nginx 反代 websocket

server {
	listen 80;
	
	server_name XXXXX;
	
	location / {		
      proxy_pass http://192.168.10.100:9504; 
    
		  proxy_set_header X-Real-IP $remote_addr;
		  proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";


	}
} 


# 這里需要注意的是 proxy_http_version 1.1;  這個參數很重要 
# 因為Nginx對HTTP的反向代理,默認使用HTTP 1.0連接到后端,那樣沒法保持長連接,后端作出HTTP響應后,連接就斷了,而websocket是長連接,所以啟用HTTP 1.1以支持長連接

 

2、nginx 七層 反向代理

# 七層就是應用層  

例子1:  經典的LNMP 

#在nginx 中添加如下配置:  

location ~ .php$ {

            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }


# 表示把以php 結尾的請求都轉發到 127.0.0.1:9000 即 我設置的php-fpm 默認端口  



例子2: 傳參式

location ~ ^/api/(.*)$ {
        proxy_pass http://127.0.0.1:9901/$1;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }

# 重要指令: proxy_pass 可以包含傳輸協議、主機名稱或IP地址加端口號,URI等 
# http://127.0.0.1:9901/$1 這里的 $1 就是我通過接口傳進來的參數

 

3、nginx 四層反向代理

# 四層是網絡層,

例子:允許某個IP 可以連接內網的MySQL 數據庫

stream {

    upstream mysqldb {
       hash $remote_addr consistent;
      # $binary_remote_addr;
       server 172.18.1.101:3306;
    }
  
    server {
       listen 3306;  
       allow x.x.x.0/24;
       deny all;
       proxy_connect_timeout 10s; 
       proxy_timeout 900s;#設置客戶端和代理服務之間的超時時間,如果15分鐘內沒操作將自動斷開。
       proxy_pass mysqldb;
    }
}   

#注意,需要nginx 有 stream模塊,在編譯的過程中加參數  --with-stream  

 

nginx 反代的用法挺多的,我只是列舉出我覺得最實用的幾種,如果有錯誤的地方請指出來,大家共同學習。

分享到:
標簽:代理 Nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定