保障訓練 20200914

2021-10-09 10:28:06 字數 2397 閱讀 3214

4.48/49 nginx反向**

4.50 nginx負載均衡

4.51 配置nginx的ssl

一、nginx反向**

反向**方式是指以**伺服器來接受internet上的連線請求,然後將請求**給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時**伺服器對外就表現為乙個伺服器

為什麼使用反向**?

1.可以起到保護**安全的作用,因為任何來自internet的請求都必須先經過**伺服器

2.通過快取靜態資源,加速web請求

3.實現負載均衡。順便說下,目前市面上,主流的負載均衡方案,硬體裝置有f5,軟體方案有四層負載均衡的lvs,七層負載均衡的nginx、haproxy等

什麼場景下會使用反向**?

1.訪問不帶公網的內部機器

2.解決兩台機器之間通訊有障礙的問題

場景設定

1.a b兩台機器,其中a只有內網,b有內網和外網

2.a的內網ip是 192.168.222.128

3.b的內網ip是 192.168.222.129,b的外網ip是 192.168.149.128

4.c為客戶端,c只能訪問b的外網ip,不能訪問a或b的內網ip

需求:c訪問a的內網**

配置:location /

二、nginx負載均衡

負載均衡在服務端開發中算是乙個比較重要的特性。因為nginx除了作為常規的web伺服器外,還會被大規模的用於反向**前端,因為nginx的非同步框架可以處理很大的併發請求,把這些併發請求hold住之後就可以分發給後台服務端(backend servers,也叫做服務池, 後面簡稱backend)來做複雜的計算、處理和響應,這種模式的好處是相當多的:隱藏業務主機更安全,節約了公網ip位址,並且在業務量增加的時候可以方便地擴容後台伺服器

先建立簡單的負載平衡模組,配置檔案load.conf

有個命名可以檢視 dig 網域名稱; 沒有安裝可以用yum安裝此包:yum install -y bind-utils

現在用curl -x測試www.qq.com,此時任意網域名稱都會轉到預設虛擬主機上

檢查load.conf配置檔案語法,並載入

負載均衡擴充套件:

nginx負載均衡(工作在七層「應用層」)功能主要是通過upstream模組實現,nginx負載均衡預設對後端伺服器有健康檢測的能力,僅限於埠檢測,在後端伺服器比較少的情況下負載均衡能力表現突出

nginx的幾種負載均衡演算法:

1.輪詢(預設):每個請求按時間順序逐一分配到不同的後端伺服器,如果後端某台伺服器宕機,則自動剔除故障機器,使使用者訪問不受影響

2.weight:指定輪詢權重,weight值越大,分配到的機率就越高,主要用於後端每台伺服器效能不均衡的情況

3.ip_hash:每個請求按訪問ip的雜湊結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以有效的解決動態網頁存在的session共享問題

4.fair(第三方):更智慧型的乙個負載均衡演算法,此演算法可以根據頁面大小和載入時間長短智慧型地進行負載均衡,也就是根據後端伺服器的響應時間來分配請求,響應時間短的優先分配。如果想要使用此排程演算法,需要nginx的upstream_fair模組

5.url_hash(第三方):按訪問url的雜湊結果來分配請求,使每個url定向到同一台後端伺服器,可以進一步提高後端快取伺服器的效率。如果想要使用此排程演算法,需要nginx的hash軟體包

1.down:表示當前server暫時不參與負載均衡

2.backup:預留的備份機,當其他所有非backup機器出現故障或者繁忙的時候,才會請求backup機器,這台機器的訪問壓力最輕

3.max_fails:允許請求的失敗次數,預設為1,配合fail_timeout一起使用

4.fail_timeout:經歷max_fails次失敗後,暫停服務的時間,預設為10s(某個server連線失敗了max_fails次,則nginx會認為該server不工作了。同時,在接下來的 fail_timeout時間內,nginx不再將請求分發給失效的server。)

乙個負載均衡器的名稱為whsirserver,這個名稱可以自己定義,在後面proxy_pass直接呼叫即可

proxy_next_upstream引數用來定義故障轉移策略,當後端伺服器節點返回500、502和執行超時等錯誤時,自動將請求**到upstream負載均衡器中的另一台伺服器,實現故障轉移

三、配置nginx的ssl

編輯完ssl配置檔案,此時檢查語法,發現當前nginx並不支援ssl,因為當時輯nginx編譯時並沒有配置支援ssl的引數

配置ssl模組,然後編譯、安裝

檢查語法、重啟服務,檢視監聽埠,此時會出現443埠

測試此時可以直接:curl ;但是證書是我自己頒發的,有點不合法

此時在windows下瀏覽器測試

假如在瀏覽器: 此時無反應,則需要清除規則;或者增加乙個443的埠

保障訓練 20200910

4.38 nginx訪問日誌 4.39 日誌不記錄靜態檔案 4.40 日誌切割 4.41 靜態檔案過期快取 4.42 nginx防盜煉 一 nginx訪問日誌 在nginx主配置檔案定義日誌的,其中combined realip為日誌的名稱,這個名稱可以自定義,比如這裡自定義為 ying 在ngin...

保障訓練 20200923

1.20 nginx正向 1.21 1.22 23 24 25 26 nginx反向 一 nginx正向 nginx正向 配置 nginx正向 使用場景並不多見。需求場景1 如果在機房中,只有一台機器可以聯網,其他機器只有內網,內網的機器想用使用yum安裝軟體包,在能能聯網的機器上配置乙個正向 即可...

保障訓練 20200909

4.34 安裝wordpress 4.35 安裝discuz 4.36 網域名稱重定向 4.37 使用者認證 4.38 nginx訪問日誌 一 安裝wordpress wget 解壓 tar zxvf wordpress 5.2.4 zh cn.tar.gz mv wordpress data ww...