天天看點

linux下無法通路域名

  前段時間在linux下調用另外合作方url頁面的時候。如果對方是ip的話能夠通路,域名則通路不了,每次都報:Exception:java.net.UnknownHostException: msgmanager.com。不知道咋回事。感覺特别奇怪。首先對方域名是沒問題的。我寫的頁面也是沒問題的。應為通過ip可以成功通路的呀。這就奇怪了。

  今天在一個合作方 的提示下終于搞定了。首先讓我在linux下ping msgmanager.com 他的域名,結果問題裡面就出現了。報的ping uknown host msgmanager.com,原來是linux域名設定的問題。開始一直沒想到這個一直從程式代碼中找問題。

   後來vi /etc/hosts 了一下,在裡面添加了218.30.105.111 msgmanager.com,ok了。原來是linux沒法自動解析域名。或者是我的域名伺服器沒有設定。

  網上搜了一下Linux域名伺服器設定:

來自:http://www.linuxidc.com/Linux/2007-03/2669.htm

位于/etc目錄下的有:

hosts,host.conf,resolv.conf,named.boot,named.conf。

  1、“hosts”檔案,定義了主機名和ip位址的對應,其中也有将要運作dns這台電腦的ip位址和主機名。内容:

  127.0.0.1 localhost.localdomain localhost

  2、“host.conf”檔案[Boban注:原來誤寫成hosts.conf],"order hosts bind"語句,指定了對主機名的解析順序是先到hosts中查找,然後到dns伺服器的記錄裡查找。“multi on”則是允許一個主機名對應多個ip位址。内容:

  order hosts, bind

  multi on

  nospoof on

  3、“resolv.conf”檔案,“nameserver 10.0.0.211”指定了dns伺服器的位址。注意,這個檔案對普通非dns伺服器的電腦(非windows的系統;Windows系統是在“網絡屬性”中設定這項的)來說,是必不可少的。你如果沒有設定本機為dns伺服器,你又要能夠解析域名,就必須指定一個dns伺服器的位址。你可以最多寫上三個位址,作為前一個失敗時的候選dns伺服器。“domain zrs.com”指定預設的域。檔案内容:

  domain 21php.com

  nameserver 11.0.0.1

将resovl.conf檔案設定成:

search localdomain

nameserver 210.82.89.253

nameserver 202.106.0.20

搞定。

繼續閱讀