差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
pc:windows:network:ipv6:unc_path_limitation [2020/01/26 14:51]
tony [How to resolve?]
pc:windows:network:ipv6:unc_path_limitation [2023/06/25 09:48] (目前版本)
行 1: 行 1:
 +{{tag>​ipv6 windows unc ie edge}}
 ====== Windows上使用IPv6所遇到的UNC路徑限制 ====== ====== Windows上使用IPv6所遇到的UNC路徑限制 ======
 ===== Problem ===== ===== Problem =====
行 6: 行 7:
 我的測試環境為Win7,IE11 11.0.9600.19356,測試結果可能會因為瀏覽器版本不同有所差異。 我的測試環境為Win7,IE11 11.0.9600.19356,測試結果可能會因為瀏覽器版本不同有所差異。
 ===== How to resolve? ===== ===== How to resolve? =====
-經過同事查詢,這是Windows的限制。+經過同事查詢,應該是Windows的限制,IPv6中的冒號為UNC路徑不合法字元。只要使用Literal IPv6 address就可以避免此問題(參考[[https://​en.wikipedia.org/​wiki/​IPv6_address#​Literal_IPv6_addresses_in_UNC_path_names|link]]),假設你的IPv6為:​ 
 +<​code>​ 
 +2001:​db8:​85a3:​8d3:​1319:​8a2e:​370:​7348 
 +</​code>​ 
 +只要將:​變為-,然後在後面串上.ipv6-literal.net,Windows可以不透過DNS自動幫你轉換這樣的名稱:​ 
 +<code bash> 
 +2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net 
 +</​code>​ 
 +除此之外,我嘗試去調整wicket的wicket-websocket-jquery.js,在建websocket之前將IPv6改為Literal IPv6 address: 
 +<code javascript>​ 
 +var ws_host_addr = document.location.hostname.replace(/​[\[\]]/​g,​ ''​);​ 
 +ws_host_addr = ws_host_addr.replace(/:/​g,​ "​-"​);​ 
 +ws_host_addr += "​.ipv6-literal.net";​ 
 +  
 +url = protocol + '//'​ + ws_host_addr + _port + WWS.contextPath + WWS.filterPrefix + '/​wicket/​websocket';​ 
 +</​code>​ 
 +但jetty會找不到對應的session。\\ 
 +\\ 
 +目前會使用的Workaround為:​ 
 +  * 使用Literal IPv6 address去避掉這問題。 
 +  * 如果User使用FQDN存取Server,也不會有這個問題
 ===== Reference ===== ===== Reference =====
   * [[https://​en.wikipedia.org/​wiki/​IPv6_address#​Literal_IPv6_addresses_in_UNC_path_names|wiki - Literal IPv6 addresses in UNC path names]]   * [[https://​en.wikipedia.org/​wiki/​IPv6_address#​Literal_IPv6_addresses_in_UNC_path_names|wiki - Literal IPv6 addresses in UNC path names]]
   * [[https://​github.com/​SignalR/​SignalR/​issues/​3875|Issue with IPv6 and IE/Edge]]   * [[https://​github.com/​SignalR/​SignalR/​issues/​3875|Issue with IPv6 and IE/Edge]]
   * [[https://​www.qutaojiao.com/​19202.html|通过web控制灯泡]]   * [[https://​www.qutaojiao.com/​19202.html|通过web控制灯泡]]
 +  * [[https://​github.com/​apache/​wicket/​blob/​master/​wicket-native-websocket/​wicket-native-websocket-core/​src/​main/​java/​org/​apache/​wicket/​protocol/​ws/​api/​res/​js/​wicket-websocket-jquery.js|wicket-websocket-jquery.js]]
  
 +=====    ===== 
 +---- 
 +\\ 
 +~~DISQUS~~