2014-01-14 20 views
-1

我目前正在編寫一些POC,需要從我的Mac使用Web服務。我在我的PC上編寫Web服務,現在我需要Mac能夠將其用於調試目的。在我的家庭辦公室工作時,我無法解決PC機名稱問題,但每當我回到辦公室時,瀏覽器(Safari瀏覽器& Chrome)都無法看到PC。我所知道的唯一不同之處在於我們通過代理訪問互聯網。除此之外,這是一個非常漂亮的通過DHCP設置的香草網絡,就像我的家庭辦公室一樣。無法從Mac瀏覽器解析PC機

現狀: 的Mac設置爲文件共享,可以看到PC通過SMB Mac可以成功地ping PC當我添加「本地」,以PC機的名稱 Mac可以看不到地址線的PC的任何瀏覽器。 PC設置爲運行的Bonjour打印服務 PC運行的Web服務在IIS快遞 PC設置,以便支持所需的網址...

netsh http add urlacl url=http://*:%HTTP_PORT%/ user=everyone 
netsh http add urlacl url=http://localhost:%HTTP_PORT%/ user=everyone 
netsh http add urlacl url=http://%COMPUTERNAME%:%HTTP_PORT%/ user=everyone 
netsh http add urlacl url=http://%COMPUTERNAME%.local:%HTTP_PORT%/ user=everyone 

(%HTTP_PORT%= 60011,默認IIS Express) 上面的配置(Bonjour + urlacl)被發現at this blog

我寫了一個小web方法 - HelloWorld - 爲了測試目的而返回「Hello World」並確保它在本地工作。試圖從Mac消耗它通過瀏覽器地址字段爲「http://myPC.local:60011/MyWebService.asmx/HelloWorld」給了我這個錯誤(Safari瀏覽器):

Network Error (dns_unresolved_hostname) 

Your requested host "myPC.local" could not be resolved by DNS. 

(「MYPC」僅僅是實際的機器名替補)

我目前沒有想法。任何建議將不勝感激。

乾杯!

[編輯1] 不知道這是一個線索,你的Mac大師的人在那裏,但:在瀏覽器根本不同的反應,如果我刪除「本地」,在‘myPC.local’。當我把它留在Safari和Chrome瀏覽器給出了同樣的確切的錯誤信息(見上圖),但是當我離開它,Safari瀏覽器返回該消息...

You are not connected to the Internet 

...而鍍鉻返回此...

Oops! 
Google Chrome could not find myPC:60011 

[編輯2] 我已經注意到了另一個陌生的次數:已進入上述網址和屬下的上述錯誤消息後,似乎如果我向後導航再回來上班。但是,如果我點擊'刷新',我會得到相同的錯誤信息。我測試了Chrome瀏覽器(這個豆蔻招Safari瀏覽器不會讓我導航向後/向前在這種情況下。

不知道是怎麼打的那個,真的!任何人願意給它一個鏡頭?

回答

0

我終於想通了。

我一直認爲工作中的DNS服務器能夠正確解析機器名稱。如果我添加完全限定名稱(「myPC。」),它工作正常。與Mac不同的是,當AD出現故障時,同一網絡中的其他PC會自動退回到使用WINS進行名稱解析。我的家庭網絡是一個簡單的工作組(如Mac的「本地」命名空間),所以這就是爲什麼Mac可以成功使用我的家庭路由器的DNS服務。

這當然是一個問題,因爲配置Mac始終與機器聯繫是指定的網絡,因此無法移動到該網絡之外(無需重新配置)。

但是,我再次問這個問題不僅僅是爲了解決問題,而是爲了獲得一些知識,所以沒關係。

感謝您給它一個槍sivatumma!

1

我有一個簡單的提示;只有你的機器知道它被命名爲myPC,因爲它看起來在你的盒子的hosts(和鏈接到/etc/hostname)文件內,但你的其他mac不會知道那個名字。你爲什麼不試試用你當前的IP替換'myPC'? 當我在我的wifi,我得到的IP地址,如192.168.0.101192.168.0.102,...等;我使用它們進行內部文件傳輸或其他。其他的盒子不會知道我的盒子的名字,比如'I-AM-X'等。你可能應該有一些IP地址。 (看看ifconfig -aohh .. ipconfig /all在windows ..)。你最好用它來代替「myPC」。

+0

當然使用IP地址的作品,我已經這樣做了,但我仍然希望能夠使用機器名稱,因爲它的便攜性和IP地址不是。不得不將客戶端配置爲使用IP地址,這不是一個好主意。其次,我想了解Mac如何做到這一點。如果我在終端上添加「.local」後,爲什麼能ping通電腦,同時瀏覽器不能(在瀏覽器的地址欄中指定「myPC.local:60011」作爲主機不起作用) 。 –

+0

首先,'myPC.local'看起來像'/ etc/hosts'文件中的一個條目。因爲該文件是主機名和虛擬名稱被拾取的地方。 (我將我的域名命名爲「comedaddy.com」)。好吧,其次,你應該能夠區分'dhcp'和'static' IP。用'dhcp'配置,你不能得到你想要的東西。只有當你獲得一個「靜態」IP,(至少在你申請後4天內),你的盒子纔可以用'name'來訪問!有人糾正我,如果我錯誤理解。順便說一句,這些設置更多地附加到'OS' - 任何操作系統。 –

+0

不確定我是否理解正確,但正如我在原始問題中所述,當我坐在家庭網絡中時,Mac成功解析了PC的名稱,這也是DHCP配置。所以我不明白爲什麼DHCP會成爲一個問題。唯一的區別是該框從DHCP服務中獲取它的DNS地址。 DNS服務的工作仍然是做名稱解析工作,出於某種原因,這可能不起作用,或者出於某種原因,Mac上的瀏覽器在僱用我公司的DNS服務器時不成功。我遠離網絡人,但這就是我理解它的工作原理。 –