㈠ 如何獲取客戶端IP,WEB伺服器IP
客戶端 IP 地址是通過 CGI 變數 REMOTE_ADDR 得到的,這個是 HTTP 伺服器負責提供。 HTTP 伺服器和客戶端瀏覽器之間存在 socket 連接,socket 連接信息包含了另一側的 IP 地址和埠。
當然,最終用戶如果是通過代理伺服器訪問怎麼辦呢?目前主流的 HTTP 代理伺服器都支持在 HTTP 報頭添加 X-Forwarded-For 信息,這可以是一個列表,如果所有的代理
㈡ 伺服器如何獲取客戶端的IP地址,並與客戶端建立TCP連接
客戶端的IP自動獲取,關鍵要看客戶端的IP是由誰來分配的,如果都是有ISP提供的那麼伺服器利用IP去連接客戶端就不太可能。可以嘗試用下面兩種思路解決:
1、能否讓客戶機主動連接伺服器。
2、使用動態DNS。讓每個客戶機都申請一個動態域名,無論它的IP怎樣變,當改變以後都會到DNS伺服器進行注冊,然後伺服器使用主機的名字訪問客戶端。
㈢ 如何獲取客戶端ip
取客戶端的IP地址的方法通常是request.getRemoteAddr(),這種方法在大部分情況下都是有效的。如果使用了反向代理軟體(Apache,Squid等),用request.getRemoteAddr()方法獲取的IP地址實際上是代理伺服器的地址。
不過大部分HTTP代理或負載均衡伺服器會將X-Forwarded-For作為存放客戶端最原始的IP地址的HTTP請求頭欄位,如果經過多級反向代理的話,IP將會追加在其後並以逗號隔開,X-Forwarded-For的值並不止一個,取X-Forwarded-For中第一個非unknown的有效IP字元串即可。
經過apache http轉發後一般會加上Proxy-Client-IP請求頭,WL-Proxy-Client-IP是它的weblogic插件加上的請求頭,有些代理伺服器會加上此請求頭HTTP_CLIENT_IP,nginx代理一般會加上請求頭X-Real-IP。獲取方法參考下面: