校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 詳解使用Go添加Nginx代理的方法示例

詳解使用Go添加Nginx代理的方法示例

熱門標簽:學海導航地圖標注 廣州呼叫中心外呼系統(tǒng) 江西轉化率高的羿智云外呼系統(tǒng) 浙江高速公路地圖標注 中國地圖標注省會高清 南通如皋申請開通400電話 西部云谷一期地圖標注 高德地圖標注口訣 地圖標注的汽車標

簡介

Nginx 是一個高性能的 HTTP 服務器和反向代理服務器.

最常用的兩個功能是反向代理和負載均衡.

反向代理

反向代理是正向代理的反面.

普通的代理服務器是需要用戶主動去設置的, 用戶在自己的電腦上設置并連接代理服務器,
從而可以隱藏自己的 IP, 使得應用服務器不知道客戶端的 IP 地址.

而反向代理是作為應用服務器的代理, 安裝在服務器上. 客戶端實際上訪問的反向代理服務器,
反向代理服務器再去訪問實際的應用服務器, 然后將獲取到的響應傳送給客戶端.

使用 Nginx 配置反向代理非常簡單, 基礎配置如下:

upstream web {
 server 127.0.0.1:8081;
}

server {
 listen 80;
 server_name web.coolcat.com;

 location / {
  proxy_set_header Host $http_host;
  proxy_set_header X-Forwarded-Host $http_host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Real-IP $remote_addr;

  client_max_body_size 5m;

  proxy_pass http://web;
 }
}

上面的配置文件中設置了一個域名 web.coolcat.com,
對這個域名的所有請求都會轉發(fā)到 http://web 上.

通過配置 upstream, 我們可以發(fā)現(xiàn), 實際上的流量都被轉發(fā)到了
127.0.0.1:8081 上了.

如此一來, 就實現(xiàn)了反向代理.

負載均衡

負載均衡和反向代理是分不開的, 負載均衡通常都是基于反向代理做的.

所謂的負載均衡, 指的是將多個請求轉發(fā)到不同的后端服務器上.

upstream web {
 server 127.0.0.1:8081;
}

在上面的反向代理配置中, 只設置了一個后端服務器地址,
如果再添加幾個, 就實現(xiàn)了最簡單的負載均衡了.

輪詢

輪詢策略按順序分配請求.

upstream web {
 server 192.168.1.1:8081;
 server 192.168.1.2:8081;
}

加權輪詢

加權策略按比例分配請求.

upstream web {
 server 192.168.1.1:8081 weight=4;
 server 192.168.1.2:8081 weight=6;
}

上面的兩個服務器的訪問概率就是四六開.

最少連接

最少連接將請求分配給當前連接數(shù)最少的服務器.

upstream web {
 least_conn;
 server 192.168.1.1:8081;
 server 192.168.1.2:8081;
}

ip_hash

來自同一個 IP 的連接都會分配給同一個服務器, 通常用于 會話保持.

upstream web {
 ip_hash;
 server 192.168.1.1:8081;
 server 192.168.1.2:8081;
}

通用 hash

使用 hash 自定義要計算的 key. 示例中使用請求地址.
可以選擇 consistent 參數(shù)可以指定使用一致性哈希算法.

upstream web {
 hash $request_uri;
 # hash $request_uri consistent;
 server 192.168.1.1:8081;
 server 192.168.1.2:8081;
}

參考:

Using nginx as HTTP load balancer

Module ngx_http_upstream_module

總結

Nginx 是很常用的代理服務器, 它的功能非常強大, 性能也很好.
更多的資料請參考官方文檔.

當前部分的代碼

作為版本v0.14.0

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 通過nginx反向代理來調試代碼的實現(xiàn)
  • Docker中使用Nginx代理多個應用站點的方法
  • Nginx正反向代理及負載均衡等功能實現(xiàn)配置代碼實例
  • 通過Nginx代理轉發(fā)配置實現(xiàn)跨域的方法(API代理轉發(fā))
  • 添加Nginx代理配置只允許內部IP訪問的實現(xiàn)方法
  • Nginx代理proxy pass配置去除前綴的實現(xiàn)
  • 18個運維必知的Nginx代理緩存配置技巧(你都掌握了哪些呢)
  • Nginx正向反向代理區(qū)別及原理解析

標簽:慶陽 太原 廣西 調研邀請 西雙版納 阿克蘇 貴陽 德州

巨人網(wǎng)絡通訊聲明:本文標題《詳解使用Go添加Nginx代理的方法示例》,本文關鍵詞  詳解,使用,添加,Nginx,代理,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解使用Go添加Nginx代理的方法示例》相關的同類信息!
  • 本頁收集關于詳解使用Go添加Nginx代理的方法示例的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 当涂县| 浏阳市| 靖边县| 抚远县| 建阳市| 仙居县| 定州市| 冕宁县| 双峰县| 武威市| 元朗区| 台东市| 中西区| 通州区| 浦北县| 泗水县| 盖州市| 绥阳县| 巩义市| 泰宁县| 京山县| 胶南市| 沾化县| 珲春市| 大足县| 保亭| 安庆市| 龙井市| 万宁市| 综艺| 乌海市| 南郑县| 威宁| 汝州市| 麻江县| 英吉沙县| 白城市| 延川县| 瑞昌市| 乌拉特中旗| 清水河县|