這是本文件的舊版!


Windows上使用IPv6所遇到的UNC路徑限制

雖然我們很不想支援IE,但我們還是要在IE上測試我們的軟體,是否有支援IPv6;不幸地,在使用IPv6位置連接後,就發生了JavaScript的錯誤。打開開發人員工具查看一下發現是語法錯誤,這是與websockt相關的程式碼:


我的測試環境為Win7,IE11 11.0.9600.19356,測試結果可能會因為瀏覽器版本不同有所差異。

經過同事查詢,說這應該是Windows的限制,IPv6中的冒號為UNC路徑不合法字元。只要使用Literal IPv6 address就可以避免此問題(參考link),假設你的IPv6為:

2001:db8:85a3:8d3:1319:8a2e:370:7348
只要將:變為-,然後在後面串上.ipv6-literal.net,Windows可以不透過DNS自動幫你轉換這樣的名稱:
2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net