2016-06-09 99 views
1

當發佈到解析爲IPv6地址的Intranet站點時,Visual Studio Web Deploy爲什麼會發生「在發送時發生意外錯誤」失敗?我假設IPv6與它有關,因爲將IPv4地址添加到主機文件可解決問題並且Web部署成功。IPv6爲什麼會干擾Web部署?

詳情:

  • 最初從TeamCity的生成代理來生成錯誤,但嘗試發佈(或只是驗證在發佈配置的連接)從Visual Studio時,會發生同樣的問題。
  • 到目標計算機的ping(成功)會解析爲與在目標機器上運行「ipconfig」時發現的地址相同的IPv6地址,除了尾端的不同Scope ID。
  • Windows UNC共享目標機器的路徑工作正常
  • 目標機器實際上是運行構建代理程序的VM的主機。

以下是驗證發佈配置文件中連接的錯誤。

Error message from Validate on publish profile

而且從原來的構建細節/部署的嘗試。

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web \ Microsoft.Web.Publishing.targets(4276,5):Web部署任務失敗。 (無法完成對遠程代理程序URL'https://tapserver:8172/msdeploy.axd?site=MealPlannerCIAPI'的請求。) 此錯誤表示無法連接到服務器。確保服務URL正確,此計算機和服務器計算機上的防火牆和網絡設置配置正確,服務器上已啓動相應的服務。 錯誤詳細信息: 無法完成對遠程代理網址'https://tapserver:8172/msdeploy.axd?site=MealPlannerCIAPI'的請求。 底層連接已關閉:發送時發生意外錯誤。 無法從傳輸連接讀取數據:現有連接被遠程主機強制關閉。 一個現有的連接被強行遠程主機

再次,我已經修復了問題關閉,但它是一個非常令人困惑的修復給我。什麼會打破通過添加IPv4地址到hosts文件修復的msdeploy調用,當它明顯已經使用v6到達該主機時?

+0

因爲不僅你的機器和服務器必須能夠使用ipv6,你和服務器之間的所有路由器也必須具備這一功能。如果沒有適當的服務在您和服務器之間進行v6-> v4-> v6橋接,則您的數據包將在某處丟失。例如從你的房子到城鎮邊緣可能有一條10車道的高速公路,另一條從服務器城鎮邊緣到前門的10條高速公路,但是你的城市被海洋和泥濘的山羊路徑隔開。 –

+0

啊,即使沒有互聯網,這也適用?這絕對是在同一個局域網上,從虛擬機到它的主機[雖然是的,我相信它必須打到路由器,所以這可能就夠了]。當在該計算機上執行ping,共享路徑和訪問現有Web端點時,它會失敗,這真是令人驚訝。即使我將msdeploy端點粘貼到瀏覽器中,也可以看到端點* * –

+0

,如果它全部是本地的,並且您不需要ipv6,只需嘗試關閉兩端的ipv6。 –

回答

0

您是否在管理服務配置(IIS)中檢查了選項IP Address Restrictions

請注意,如果您嘗試訪問IPv6目標,則始終使用本地IPv6地址連接。如果您已配置任何限制,它們將不會適用於您的IPv6地址,因爲限制配置與IPv6不兼容。因此,如果您將Access for unspecified clients設置爲Deny,您的連接嘗試將自動被拒絕。

相關問題