簡體   English   中英

通過 MSDeploy.exe 從 WMSvc 獲取 404

[英]Getting a 404 from WMSvc via MSDeploy.exe

從 Windows 8 到 Windows Server 2012 (IIS 8) 安裝並運行了 Web 管理服務,我可以使用 W8 框上的 IIS Manager 來管理遠程服務器,但是當我執行以下命令時,我從 WMSvc 得到了 404.7:

msdeploy.exe" -verb:dump -source:contentPath=c:\InetPub\wwwroot,computerName=https://uktnws01:8172/MsDeploy.axd,userName=corp\administrator,password=WMSvcIsCrap,authType=Basic -allowUntrusted

我嘗試了各種組合和參數。 我可以 te.net 到那個端口,我知道它是開放的。

我只是從 Windows 中刪除管理服務功能並重新啟動。 我會給自己倒一杯蘇格蘭威士忌,然后做點心。 同時,如果您有任何想法,請分享。

在下面加入我的實時博客並按照操作進行操作。

更新 1

刪除管理服務后,我現在得到

錯誤:無法連接到遠程服務器錯誤:無法建立連接,因為目標機器主動拒絕它 192.168.2.22:8172 錯誤計數:1。

第二行是一條新消息。 哇哦。

更新 2

好吧,現在情況越來越糟了。 重新安裝后,遠程 IIS 控制台將對證書發出警報,然后說:

服務器不接受遠程連接。

但我認為這是因為除了安裝該死的東西之外,我可能沒有重新啟用遠程管理。

更新 3

啟用遠程管理后,遠程 IIS 再次工作,但 404 已返回。 為了 SEO 的利益,這里是完整的錯誤:

Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("uktnws01"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.  Learn more at http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Error: The remote server returned an error: (404) Not Found.
Error count: 1.

更新 4

通過 VPN 對客戶端嘗試對另一台 web 服務器執行相同的命令,這很有用。 看起來 IIS 在我的 2012 年新版本中是錯誤的。

更新 5

我為 WMSvc 啟用了失敗的請求跟蹤,並且看到 404.7 來自 RequestFilteringModule 模塊。 根據文檔,404.7 是“文件擴展名被拒絕”。

http://www.iis.net/configreference/system.webserver/security/requestfiltering

為 .axd 文件添加明確的服務器規則並沒有幫助。 有趣的是看到這個模塊,因為它對 URL 長度和內容大小施加了限制。 你能想象在 IIS 托管的 WCF 應用程序中解決這個問題嗎? 哈哈。 我真的要哭了。

更新 6

我正在刪除請求過濾,這意味着要刪除 ASP.NET 和其他各種內容。 他們需要 Reinstall Windows Features & Dependencies All In One Hit Because We Write Unreliable Software 選項。

更新 7

我重新安裝了所有東西,然后某個名叫 Richard 的澳大利亞人突然出現,並完全解釋說 Web Deploy 實際上不是標准 WMSvc 的一部分,即使在 IIS 8 上也是如此,我需要安裝 Web Deploy。

所以我願意。 然后我禁用 MsDepSvc,這是它安裝的另一部分(我認為是整個 Web Deploy),因為它占用端口 80 並阻止負載均衡器看到已關閉的 IIS 服務。

它有效。 我可以撥打 go 睡覺。

如果其他人遇到與我遇到的問題相同的問題,我也會遇到相同的 404 錯誤。 我發現檢查的最快方法是訪問服務器本身,然后打開“https://<servername>:8172/MsDeploy.axd”。 Chrome 和 Firefox 只顯示一個空白頁面,所以我不得不使用開發人員工具 (F12) 的網絡選項卡來查看實際的 404 錯誤消息。

不知何故,從 Web 平台安裝程序安裝 Web 部署 3.0 時,IIS 7 部署處理程序沒有安裝,即使 IIS 管理器 UI 模塊安裝了。 就我而言,我從以下鏈接下載了 Web Deployment Tool Installation.msi: Web Deployment Tool Installation 然后我必須返回到 IIS 管理工具(開始 -> 運行 -> inetmgr.exe)> {服務器名稱} > 單擊管理服務圖標,並在 MsDeploy.axd 處理程序開始工作之前重新啟動管理服務。

啟用 IIS 部署處理程序 + 遠程代理服務

在此處輸入圖像描述

您是否在服務器上安裝了 Web Deploy? Web Deploy 向 WMSVC 注冊一個處理程序 (/msdeploy.axd),因此如果未安裝,404 將是預期的狀態代碼。

在 Windows 2012 R2 Server 上,我遵循了 mga911 的建議。

我被困在部署工作中。 已安裝 Web Deploy 3.5 -> 啟用管理服務委派 -> 確保服務已啟動。 問題是尚未安裝 IIS 部署處理程序。 通過 Web PI 4.6,我沒有機會安裝 IIS 部署處理程序。 您需要進入控制面板 -> 程序和功能更改 Web Deploy 3.5 的安裝。 請注意我的指示。 在更改過程中,它指示將安裝所有子包,但文本消息顯示將安裝 3 個子組件中的 0 個。 這些組件之一是 IIS 處理程序。 仔細閱讀因為我沒有並且很沮喪:)

  • 控制面板 > 程序和功能
  • 右鍵單擊 Microsoft Web Deploy 3.5
    • 選擇更改 > 單擊下一步 > 單擊更改
    • You'll notice when Web Deployment Framework is selected you'll see in the message "It has 0 of 3 subfeatures selected"
    • 單擊下拉菜單選擇“整個功能將安裝在本地硬盤上”
    • 下一步 > 更改 > 完成

我認為很重要的一點是,您必須先打開管理服務,然后再安裝 Web Deploy。

我反過來做了,但沒有用。

只有通過重新安裝 Web 部署它才開始工作。

當我通過 Web 平台安裝程序安裝 Web Deploy 時,未選擇 Handler。 我不得不手動安裝 Web Deploy 3.0,單擊“更改”,然后選擇要安裝的 Handler。

經過數小時的搜索,在下面執行您的解決方案對我有用!

Control Panel > 程序和功能

右鍵單擊 Microsoft Web Deploy 3.5

選擇更改 > 單擊下一步 > 單擊更改

您會注意到何時選擇Web部署框架,您將在消息中看到

 "It has 0 of 3 subfeatures selected"

單擊下拉菜單選擇"Entire feature will be installed on local hard drive"

下一步 > 更改 > 完成

在我的例子中,當通過 web pi 安裝 web deploy 3.0 包時,我從未在 IIS /home 中獲得管理服務委派選項。但是重新安裝它糾正了這個問題,從而解決了我的 404.7 錯誤。

這是在 Microsoft Server 2012 和 IIS8 下

編輯:我最近在 Windows 8 上嘗試了同樣的事情,並想指出微軟網站上的聲明:

對於在 Windows 8.0 或 8.1 上的 IIS 中托管的站點,您無法使用 Web 部署設置遠程發布。 原因是 Windows 的客戶端 SKU 沒有附帶遠程連接所需的 Web 管理服務。 因此,在 Windows 8.0 或 8.1 上,配置遠程發布所需的 IIS 管理器權限圖標和配置 Web 部署發布部署選項在 IIS 管理器中不可用。 http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

(是的,我知道問題中的目標是 Server 2012,但這可以讓很多人免於像我一樣頭疼,因為這在我的舊開發機器上工作得很好,我想讓人們知道。)

而不是使用 Web 平台安裝程序。 從網站下載 WebDeploy.exe 並使用 Complete package 選項將其安裝在服務器上。

它會解決這個問題。

此外,您可能需要授予 Web 管理服務的訪問權限

我還遇到了 Visual Studio (2013) 無法更新服務器上的應用程序 (Windows 2012 R2 IIS 8.5) 的問題。 我如上所述手動添加了組件,但這並沒有解決問題。 然后我找到了這篇文章

它基本上表示 Web 管理服務作為本地服務登錄,它沒有訪問 Inetpub 目錄的權限。 授予本地服務權限為我解決了這個問題。

我有同樣的問題。 我通過“Restart-Service wmsvc”解決了這個問題。

服務器 2019 中也仍然存在此問題。 需要安裝以正確順序部署的web

  • 一、啟動服務——web管理服務
  • 然后安裝網絡部署(從微軟網站下載)

就我而言,在服務器字段(發布設置對話框中的第一項)中使用http://<server_address>而不是https://<server_address>有效。

僅使用 Windows 身份驗證。 網絡部署 3.5。 並且只有在頂級服務器圖標的管理服務圖標中設置的 WMSVC 證書。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM