2011-12-13

根據客戶端 IP 自動修改伺服器 IP

先前為了因為伺服器將常換 IP,必須半自動修改自己網頁中的 IP,才能讓網頁正常運作,所有有了這篇「自動切換網址中的伺服器 IP」。昨天確有了更好的方式!

問題主要是為了客服以往都將網址以固定 IP 方式表示,但這導致區域網路內的電腦都會先連到外部網路後又折回來。
image
這缺點當然很多,首先就是經常遇到的,外部網路出現問題時,導致區域網路內的電腦都無法連回伺服器。
再者,連線路線長,速度也會慢了一點點點。

昨天學校網路又出現問題,伺服器近乎無法使用,於是決定更改連線的模式,將所有連線限制僅在區域網路內,來提升效果!

原本以為設定麻煩,後來想想,只要將網址改為區域網路內的 IP 呼叫不就可以,於是開始動手修改。
image

主要增加的內容如下:
**********************************************************

String GetIpout="", GetIpin="", MyIp="";
GetIpin = request.getLocalAddr(); //取得自己的 IP
GetIpout = request.getRemoteAddr();  //取得客服端 IP
String getip07 = GetIpout.substring(0,7); //擷取客服端 IP 前七碼
String myipin1="140.121.179.194";
String myipin2="123.204.86.56";
String ipout="192.168";


// 若客端在區網內,爾後所有連結都是使用區域網路網址
if(getip07.equals(ipout)){
    MyIp="192.168.0.101";
}

// 若客端不在區網內,爾後所有連結都是使用區網主機的固定 IP 連線
else if(getip07!=(ipout)){
    MyIp="140.121.*.*";
}


// 若自己的 IP 等於辦公室 IP,爾後所有連結都用辦公室 IP
if(GetIpin.equals(myipin1)){
    MyIp="140.121.*.*";
}

// 若自己的 IP 等於家裡 IP,爾後所有連結都用家裡 IP
else if(GetIpin.equals(myipin2)){
    MyIp="123.204.*.*";
}

**********************************************************

這好處在於整個伺服器我不必再切換 IP,在區網時也不必使固定 IP!不論位於區網或外部的所有電腦是根據自己的位置來獲得對我的連線方式!

image
(真的是太美妙了… 呵呵)

Blogger 的標籤:

沒有留言: