當前位置:首頁 » 雲伺服器 » 後端真實伺服器ip地址

後端真實伺服器ip地址

發布時間: 2022-08-21 02:27:13

A. 如何取得反向代理的真實ip

問題引出:
<hr/>
在JSP里,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了 Apache,Nagix等反向代理軟體就不能獲取到客戶端的真實IP地址了。如果使用了反向代理軟體,用 request.getRemoteAddr()方法獲取的IP地址是:127.0.0.1或 192.168.1.110,而並不是客戶端的真實IP。
經過代理以後,由於在客戶端和服務之間增加了中間層,因此伺服器無法直接拿到客戶端的 IP,伺服器端應用也無法直接通過轉發請求的地址返回給客戶端。但是在轉發請求的HTTP頭信息中,增加了X-FORWARDED-FOR信息。用以跟蹤原有的客戶端 IP地址和原來客戶端請求的伺服器地址
舉例來說,當我們訪問口碑網首頁hangzhou.jsp時,其實並不是我們瀏覽器真正訪問到了伺服器上的hangzhou.jsp 文件,而是先由代理伺服器Nagix去訪問hagnzhou.jsp ,代理伺服器再將訪問到的結果返回給我們的瀏覽器,因為是代理伺服器去訪問hangzhou.jsp的,所以hangzhou.jsp中通過 request.getRemoteAddr()的方法獲取的IP實際上是代理伺服器的地址,並不是客戶端的IP地址。
<hr/>
獲得客戶端真實IP地址的方法一:
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
<hr/>

獲得客戶端真實IP地址的方法二

public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
<hr/>

B. 伺服器的IP地址就能真實反映他的實際地址嗎可以虛擬嗎比如在國內的伺服器IP地址確實國外的

確實不能真實反映實際地址,像QQ什麼的使用代理後就變成國外的啦。同意正宗大獃子

C. nginx做反向代理負載均衡 Java怎麼獲取後端伺服器獲取用戶IP

首先,在前端nginx上需要做如下配置:

location /

proxy_set_hearder host $host;

proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;

proxy_set_header X-real-ip $remote_addr;

};

nginx會在把請求轉向後台real-server前把http報頭中的ip地址進行替換;這樣操作完成後,real-server也需要做一些操作;

public class ClientIPUtils {
/**
* 在很多應用下都可能有需要將用戶的真實IP記錄下來,這時就要獲得用戶的真實IP地址,在JSP里,獲取客戶端的IP地
* 址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等
* 反向代理軟體就不能獲取到客戶端的真實IP地址了。
* 但是在轉發請求的HTTP頭信息中,增加了X-FORWARDED-FOR信息。用以跟蹤原有的客戶端IP地址和原來客戶端請求的伺服器地址。
* @param request
* @return
*/

public static String getClientIp(HttpServletRequest request) {

String ip = request.getHeader("x-forwarded-for");

//String ip = request.getHeader("X-real-ip");

logger.debug("x-forwarded-for = {}", ip);
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
logger.debug("Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
logger.debug("WL-Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
logger.debug("RemoteAddr-IP = {}", ip);
}
if(StringUtils.isNotBlank(ip)) {
ip = ip.split(",")[0];
}
return ip;

}

}

D. IP地址代表著什麼真實地址嗎

IP地址只是一個邏輯上的地址,並不是真實地址。
IP地址在公網上是唯一的,在私網里也是唯一的,但是屬於不同私網的IP地址可能相同。
192.168.0.x
172.16.x.x
10.X.X.X.
這些都是私網地址,不能在公網出現。
私網地址通過NAT技術與公網地址通信。
IP地址在公網唯一並不代表每台主機的IP地址固定不變。
這取決於網路環境,情況比較復雜,比如DHCP伺服器的配置等等。
但是一般來說,IP地址所屬的是網段是不會變的。(可以理解為IP地址的前幾個數字,具體是幾個數字在不同的網路是不一樣的。牽扯到子網掩碼的概念,這里不多說了)
真實地址是MAC地址,也就是物理地址。每塊網卡都有一個全球唯一的MAC地址。
路由器會記錄你當前的IP地址與MAC地址的綁信息,從而保證發往你IP地址的報文能准確的發往你的MAC地址,也就是你的網卡。(這個綁定信息就是ARP表項)
大體上是這樣,有什麼疑問請補充。

E. 實IP地址於虛IP地址的區別

IP地址好像不分實和虛
或者說你是問的電腦的真實IP,和使用代理伺服器後的IP有什麼區別?
電腦真實的IP地址就是服務商給你分配的上網IP,用這個IP可以找到你真實的位置。
而使用代理伺服器後的IP就好像一個中轉站,不使用代理伺服器時,你要訪問網路,比如網路,是你自己真實的IP直接向網路的伺服器提出請求,然後網路在回應你的IP,然後你就可以訪問了。而使用代理伺服器後,是你的IP先向你所使用的代理伺服器,提出 你要訪問網路的請求,代理伺服器在把你的訪問請求轉給網路,然後網路再向你所使用的代理伺服器回應,代理伺服器在向你回應。
IP只分以下幾類:
1.A類IP地址
一個A類IP地址由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是「0」, 地址范圍1.0.0.1-126.255.255.254(二進製表示為:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110)。可用的A類網路有126個,每個網路能容納1600多萬個主機。
2.B類IP地址
一個B類IP地址由2個位元組的網路地址和2個位元組的主機地址組成,網路地址的最高位必須是「10」,地址范圍128.1.0.1-191.254.255.254(二進製表示為:10000000 00000001 00000000 00000001 - 10111111 11111110 11111111 11111110)。可用的B類網路有16382個,每個網路能容納6萬多個主機 。
3.C類IP地址
一個C類IP地址由3位元組的網路地址和1位元組的主機地址組成,網路地址的最高位必須是「110」。范圍192.0.1.1-223.255.255.254(二進製表示為: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110)。C類網路可達209萬余個,每個網路能容納254個主機。
4.D類地址用於多點廣播(Multicast)。
D類IP地址第一個位元組以「1110」開始,它是一個專門保留的地址。它並不指向特定的網路,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次定址一組計算機,它標識共享同一協議的一組計算機。
地址范圍224.0.0.1-239.255.255.254
5.E類IP地址
以「11110」開始,為將來使用保留。
E類地址保留,僅作實驗和開發用。

F. 如何查詢代理伺服器下的真實IP地址

vpn具有全局代理的特點,也就是說在連接VPN成功之後,所用上網活動都是通過代理之後的IP地址進行的,包括網頁瀏覽, 外服網路 游戲視頻欣賞和投票,注冊之類的,雙魚IP轉換器主要採用了隧道技術、加解密技術、密鑰管理技術和使用者與設備身份認證技術。實現外網IP地址更改,更改之後的IP地址在網路查詢

G. nginx做反向代理負載均衡 Java怎麼獲取後端伺服器獲取用戶IP

nginx做反向負載均衡,後端伺服器獲取真實客戶端ip方法:附上關鍵步的解釋。
首先,在前端nginx上需要做如下配置:
location /
proxy_set_hearder host $host;
proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header X-real-ip $remote_addr;
};
nginx會在把請求轉向後台real-server前把http報頭中的ip地址進行替換;這樣操作完成後,real-server也需要做一些操作;

public class ClientIPUtils {
/**
* 在很多應用下都可能有需要將用戶的真實IP記錄下來,這時就要獲得用戶的真實IP地址,在JSP里,獲取客戶端的IP地
* 址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等
* 反向代理軟體就不能獲取到客戶端的真實IP地址了。
* 但是在轉發請求的HTTP頭信息中,增加了X-FORWARDED-FOR信息。用以跟蹤原有的客戶端IP地址和原來客戶端請求的伺服器地址。
* @param request
* @return
*/
public static String getClientIp(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
//String ip = request.getHeader("X-real-ip");
logger.debug("x-forwarded-for = {}", ip);
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
logger.debug("Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
logger.debug("WL-Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
logger.debug("RemoteAddr-IP = {}", ip);
}
if(StringUtils.isNotBlank(ip)) {
ip = ip.split(",")[0];
}
return ip;

}
}

H. 如何查伺服器的真實IP地址

可以通過DOS命令來初步判斷,例如:netstat ip -a 具體請自行網路DOS命令每條命令的用途

熱點內容
java捕捉異常 發布:2025-01-18 17:05:18 瀏覽:265
lob存儲器 發布:2025-01-18 16:49:36 瀏覽:145
c語言統計字元串出現次數 發布:2025-01-18 16:47:56 瀏覽:930
androidpcmamr 發布:2025-01-18 16:45:02 瀏覽:774
南昊成績查詢的密碼是多少 發布:2025-01-18 16:44:53 瀏覽:88
雷克薩斯nx哪個配置最保值 發布:2025-01-18 16:07:41 瀏覽:462
怎麼改加密密碼 發布:2025-01-18 16:06:48 瀏覽:125
通過域名訪問內網 發布:2025-01-18 16:01:39 瀏覽:275
md5加密後的密碼是什麼意思 發布:2025-01-18 15:50:16 瀏覽:193
如何qq空間訪問許可權 發布:2025-01-18 15:49:30 瀏覽:532