如何讓Web伺服器透明獲得客戶端IP

2021-05-21 21:02:33 字數 974 閱讀 3067

有些**使用這樣的方式來分離靜態請求和動態請求,nginx放在前面處理靜態請求,然後再把動態請求**給後面的apache,不過如此一來,apache日誌裡看到的ip就是nginx的ip了,為了能讓apache透明獲取ip,可以使用mod_rpaf :

配置很簡單,只需在配置檔案裡加上如下內容:

loadmodule rpaf_module libexec/apache2/mod_rpaf-2.0.so

rpafenable on

rpafsethostname on

rpafproxy_ips 127.0.0.1 192.168.0.1

rpafheader x-forwarded-for

說明:192.168.0.1指的是nginx內網ip,可以設定多個ip。

最後確認一下nginx配置檔案裡在把動態請求**給apache的時候是否設定了如下內容:

proxy_set_header host $host;

proxy_set_header x-real-ip $remote_addr;

proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;

有些**使用這樣的方式來搭建分布式快取,若干臺squid放在前面提供快取服務,內容從後面的nginx獲取。不過如此一來,nginx日誌裡看到的ip就是squid的ip了,為了能讓nginx透明獲取ip,可以使用nginxhttprealipmodule 。

nginxhttprealipmodule預設並沒有啟用,可以在編譯的時候使用--with-http_realip_module選項啟用它。

配置很簡單,只需在配置檔案裡加上如下內容:

set_real_ip_from   192.168.1.0/24;

set_real_ip_from   192.168.2.1;

real_ip_header     [x-real-ip|x-forwarded-for];

如何讓外網訪問本地WEB伺服器

我們進入路由器,檢視我們的路由的wan口的ip位址。這個ip 27.40.127.248 就是外網使用者可以唯一識別你電腦位址的路由ip,但是乙個路由一般都同時連線著幾部電腦,這又怎麼讓訪問者找到你呢,這就需要到了埠對映。埠對映又稱埠 埠對映過程就如同你家在乙個小區裡t棟112室,你朋友來找你,找到...

如何讓外網訪問自己的本地Web伺服器

目前很多 開發者安裝了iis或者apache等web伺服器,可以把自己電腦配置成一以路由為中心的內網伺服器。本地伺服器在內網測試是綽綽有餘的,但是有些專案需要演示給異地的客戶驗收,而又趕不及把自己的 放到伺服器上面,這時我們就可以採用埠對映,讓客戶可以在外網訪問我們的本地伺服器 適合大部分的 設計s...

web伺服器 簡單web伺服器實現

三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...