親測可用:Haproxy配置Http轉發,透傳真實IP

2024.02.10

親測可用:Haproxy配置Http轉發,透傳真實IP


網路網路管理
Haproxy可以實現四層轉發(HTTP轉發)和七層轉發(TCP轉發),常用於負載均衡。 在配置Haproxy時,可以使用反向代理的方式,利用輪詢等演算法進行伺服器訪問。

概念

Haproxy是一個高性能的負載均衡器和代理伺服器,主要用於對網路流量進行分發和管理,以確保服務的高可用性和性能。 以下是關於Haproxy配置HTTP轉發和透傳IP概念的相關解釋:

  1. 設定HTTP轉發:
  • Haproxy可以實現四層轉發(HTTP轉發)和七層轉發(TCP轉發),常用於負載均衡。 在配置Haproxy時,可以使用反向代理的方式,利用輪詢等演算法進行伺服器訪問。
  1. 透傳用戶端IP:
  • 在實際的網路環境中,用戶端的IP位置區域對於伺服器來說是非常重要的資訊,特別是對於一些需要做IP限制、分析訪問日誌等場景。 然而,在傳統的負載均衡環境中,由於網路層的特性,用戶端的真實IP位置區域會被代理伺服器篡改,導致伺服器無法獲取客戶端真實的IP位置區域。 因此,實現透傳用戶端IP是非常重要的。
  • Haproxy通過配置和一些技術手段,可以實現透傳客戶端的真實IP位置區域。

環境資訊:

42.51.60.76   Haproxy
42.51.60.105  Nginx
  • 1.
  • 2.

Haproxy配置:

一、合併寫法

listen dean
 bind 42.51.60.76:80
 mode http              #模式改为http
 option forwardfor      #开启forwardfor选项
 server web1 42.51.60.105:80 check inter 3000 fall3 rise 5
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

二、分開寫法

frontend dean
    bind *:80
    mode http              #模式改为http
    option forwardfor      #开启forwardfor选项
    option httpclose
    default_backend web_server
backend web_server
    mode http
    balance source        # 负载均衡,根据请求的源IP
    server web1 42.51.60.105:80
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
訪問42.51.60.76,可以看到42.51.60.105的Nginx訪問日誌,可以獲取到客戶端真實IP

圖片

責任編輯:武曉燕來源: 院長技術