Abrufen eines 404 von WMSvc über MSDeploy.exe

121

Von Windows 8 bis Windows Server 2012 (IIS 8) mit installierten und funktionierenden Web Management Services kann ich den Remote-Server mit IIS Manager auf der W8-Box verwalten, erhalte jedoch eine 404.7 von WMSvc, wenn ich den folgenden Befehl ausführe:

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

Ich habe alle möglichen Kombinationen und Parameter ausprobiert. Ich kann zu diesem Port telneten, ich weiß, dass er offen ist.

Ich entferne nur die Verwaltungsdienstfunktion von Windows und starte neu. Ich werde mir einen Scotch einschenken und ein paar Snacks machen. Wenn Sie in der Zwischenzeit Ideen haben, teilen Sie diese bitte mit.

Tritt meinem Live-Blog unten bei und verfolge die Aktion.

Update 1

Mit Management Service entfernt, bekomme ich jetzt

Fehler: Es kann keine Verbindung zum Remote-Server hergestellt werden. Fehler: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer diese aktiv abgelehnt hat. 192.168.2.22:8172 Fehleranzahl: 1.

Wo die 2. Zeile eine neue Nachricht ist! Woohoo.

Update 2

Okay, jetzt wird es immer schlimmer. Seit der Neuinstallation benachrichtigt die Remote-IIS-Konsole das Zertifikat und sagt dann:

Der Server akzeptiert keine Remoteverbindungen.

Aber ich denke, das liegt daran, dass ich Remote Management wahrscheinlich nicht wieder aktiviert habe, zusätzlich zur Installation des verdammten Dings.

Update 3

Wenn die Remoteverwaltung aktiviert ist, funktioniert der Remote-IIS wieder, aber der 404 ist zurückgekehrt. Nur im Interesse von SEO, hier ist der vollständige Fehler:

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.

Update 4

Versuchte den gleichen Befehl gegen einen anderen Webserver über ein VPN an einen Client und das funktioniert ein Zauber! Es sieht so aus, als ob IIS von meinem absolut brandneuen Build für 2012 begeistert ist.

Update 5

Ich habe die fehlgeschlagene Anforderungsverfolgung für WMSvc aktiviert und festgestellt, dass der 404.7 vom RequestFilteringModule-Modul stammt. 404.7 ist laut Dokumentation 'Dateierweiterung verweigert'.

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

Das Hinzufügen einer expliziten Serverregel für .axd-Dateien hilft jedoch nicht. Interessant, dieses Modul zu sehen, da es die URL-Länge und die Inhaltsgröße einschränkt. Können Sie sich vorstellen, dies in einer von IIS gehosteten WCF-App zu beheben? Haha. Ich weine wirklich.

Update 6

Ich entferne die Anforderungsfilterung, was bedeutet, dass auch ASP.NET und verschiedene andere Dinge entfernt werden. Sie benötigen eine Neuinstallation der Windows-Funktionen und -Abhängigkeiten auf einen Schlag, da wir eine unzuverlässige Softwareoption schreiben.

Update 7

Ich installiere alles neu und dann erscheint aus dem Nichts ein Australier namens Richard und erklärt völlig, dass Web Deploy selbst unter IIS 8 nicht standardmäßig Teil von WMSvc ist und dass ich Web Deploy installieren muss.

So ich mache. Dann deaktiviere ich MsDepSvc, den anderen Teil, den es installiert (was ich für die Gesamtheit von Web Deploy hielt), weil es an Port 80 saugt und Load Balancer daran hindert, einen ausgefallenen IIS-Dienst zu sehen.

Und es funktioniert. Ich kann ins Bett gehen.

Luke Puplett
quelle
24
+1 für das lustige Passwort
Michael12345
4
Wie viel Produktivität verlieren wir alle durch dieses Durcheinander? Ich stoße auf ein ähnliches Problem, aber ich stoße auf einen Fall, in dem IIS beim Nachschlagen von Benutzernamen abstürzt.
ATL_DEV
6
Unter Windows 2012 war es die Installationsreihenfolge für mich. Ich musste zuerst die Webverwaltungsdienstfunktion installieren und dann Web Deploy 3.5 installieren.
JustEngland
1
Die Installation von Web Deploy reicht nicht aus!. Ich hatte Web Deploy installiert, es war das erste, was ich tat. Ich musste Programme hinzufügen / entfernen und die Installationseinstellungen ändern, um den Handler einzuschließen. Ich wünsche dem MS-Entwickler Liebe, Glück und Wohlstand, der es für sinnvoll hielt, den Handler nicht einzubeziehen, mit dem der Dienst seine Arbeit erledigen kann.
Nurettin
Ich hatte alle möglichen Probleme beim Versuch, Web Deploy 3.6 zum Laufen zu bringen, also folgte ich Sinned Lolwuts Kommentar und deinstallierte 3.6 und installierte stattdessen 3.5 - funktionierte zuerst. Ich habe Web Platform Installer ( microsoft.com/web/downloads/platform.aspx ) verwendet, um Web Deploy 3.5 zu installieren. Starten Sie anschließend den Web Management Service neu und konnten Sie die Verbindung im Visual Studio Web Deploy-Profil überprüfen. (Ich hätte oben in einem Kommentar geantwortet, habe aber noch nicht genug Ruf).
Bob Nummer 2

Antworten:

86

Haben Sie Web Deploy auf dem Server installiert? Web Deploy registriert einen Handler (/msdeploy.axd) bei WMSVC, sodass ein 404 der erwartete Statuscode wäre, wenn er nicht installiert wäre.

Richard Szalay
quelle
2
Nein, habe ich nicht. Ich wusste nicht, dass ich musste! Ich dachte, dass die gesamte Bereitstellung Teil von WMSvc war? OMG, ich denke du hast recht, sie sind so dumm. Ich war in letzter Zeit so verwirrt mit all dem und dachte, Web Deploy sei das, was Sie installieren, nur der Agent für Hosting-Unternehmen und dergleichen. Schauen Sie sich meine andere Frage an stackoverflow.com/questions/13602502/…
Luke Puplett
2
WMSVC dient zur Remote-Konfiguration von IIS. MSDeploy wurde lange danach erstellt und kann daher nicht in den Kern integriert werden. Wenn die Installation von MSDeploy nicht möglich ist, können Sie einen temporären Agenten verwenden, der einen Handler für die Dauer der Bereitstellung installiert (Sie benötigen natürlich Administratorzugriff).
Richard Szalay
16
Ich musste Web Deploy 3 deinstallieren und dann erneut installieren, damit es funktioniert. Irgendwie war mein IIS8 durcheinander.
Rosdi Kasim
30
Das gleiche Problem, ging einfach in die Systemsteuerung und änderte die "Web Deploy" -Installation, um den Handler einzuschließen. Der WMSVC-Dienst wurde neu gestartet und alles war gut!
Matt Woodward
13
Wenn Sie Web Deploy vor der Installation des Web Management Service installiert haben, müssen Sie die oben beschriebenen Verfahren ausführen
Matt Baker,
180

Falls jemand anderes die gleichen Probleme hat wie ich, habe ich auch den gleichen 404-Fehler erhalten. Der schnellste Weg, dies zu überprüfen, bestand darin, auf den Server selbst zu gehen und "https: // <Servername>: 8172 / MsDeploy.axd" zu öffnen. Chrome & Firefox zeigte nur eine leere Seite an, daher musste ich die Registerkarte Netzwerk der Entwicklertools (F12) verwenden, um die tatsächliche 404-Fehlermeldung anzuzeigen.

Während der Installation von Web Deploy 3.0 über das Web Platform Installer wurde der IIS 7 Deployment Handler nicht installiert, obwohl dies das IIS Manager-UI-Modul tat. In meinem Fall habe ich die Web Deployment Tool-Installation .msi über den folgenden Link heruntergeladen: Web Deployment Tool-Installation . Dann musste ich zum IIS-Verwaltungstool zurückkehren (Start -> Ausführen -> inetmgr.exe)> {Servername}> auf das Verwaltungsdienstsymbol klicken und den Verwaltungsdienst neu starten, bevor der MsDeploy.axd-Handler seine Arbeit aufnahm.

Aktivieren von IIS Deployment Handler + Remote Agent Service

Geben Sie hier die Bildbeschreibung ein

VeeTheSecond
quelle
98
Ich konnte zu Systemsteuerung> Programme und Funktionen gehen. Klicken Sie mit der rechten Maustaste auf "Microsoft Web Deploy 3.5" und wählen Sie "Ändern". Wählen Sie im Installationsprogramm "Ändern" aus, und "IIS-Bereitstellungshandler" war als Option verfügbar (wurde zunächst deaktiviert. Außerdem waren "Für Nicht-Administrator-Bereitstellungen konfigurieren" und "Verwaltungsdienst-Delegierungs-Benutzeroberfläche" zusätzliche Optionen). Meine allererste Anfrage an MSDeploy.axdhatte noch die 404 aber die nächste Anfrage erhielt eine Login-Aufforderung.
Carl G
3
Und wenn Sie wie ich vergessen haben, denken Sie daran, dass Sie den Verwaltungsdienst (Windows-Funktionen hinzufügen / entfernen> Webserver (IIS)> Verwaltungstools> Verwaltungsdienst) bereits installiert haben müssen, bevor der "IIS-Bereitstellungshandler" beim Ändern des angezeigt wird Web Deploy 3.5 installieren.
Carl G
@ DGGev Web Deployment Tool 2.1 ist der Vorgänger von Web Deploy 3.0
Kuepper
1
Hey Carl G, dein Kommentar war das einzig Nützliche, was ich für dieses Problem gefunden habe. Ich wünschte, es könnte ein Teil der Antwort sein, anstatt hier einen einfachen Kommentar abzugeben. (Admin bitte als richtige Antwort, wenn möglich)
Mohghaderi
@CarlG - toller Fang! Ich habe einen Screenshot als Referenz hinzugefügt.
SliverNinja - MSFT
69

Unter Windows 2012 R2 Server habe ich den Rat von mga911 befolgt.

Ich war festgefahren, um Bereitstellungen zum Laufen zu bringen. Hatte Web Deploy 3.5 installiert -> Aktivierte Verwaltungsdienstdelegation -> Sichergestellt, dass Dienste gestartet wurden. Das Problem war, dass der IIS-Bereitstellungshandler nicht installiert wurde. Beim Durchlaufen von Web PI 4.6 wurde mir nicht die Möglichkeit gegeben, den IIS-Bereitstellungshandler zu installieren. Sie müssen in die Systemsteuerung gehen -> Programme und Funktionen Ändern Sie die Installation von Web Deploy 3.5. Bitte beachten Sie meine Anweisungen. Während des Änderungsprozesses werden alle Unterpakete installiert, aber in der Textnachricht wird angegeben, dass 0 von 3 Unterkomponenten installiert werden. Eine dieser Komponenten ist der IIS-Handler. Lesen Sie sorgfältig, weil ich nicht und frustriert war :)

  • Systemsteuerung> Programme und Funktionen
  • Klicken Sie mit der rechten Maustaste auf Microsoft Web Deploy 3.5
    • Wählen Sie Ändern> klicken Sie auf Weiter> klicken Sie auf Ändern
    • Wenn Web Deployment Framework ausgewählt ist, wird in der Meldung "0 von 3 ausgewählten Unterfunktionen ausgewählt" angezeigt.
    • Klicken Sie auf die Dropdown-Liste und wählen Sie "Die gesamte Funktion wird auf der lokalen Festplatte installiert".
    • Weiter> Ändern> Fertig stellen
Muglio
quelle
2
Versuchte diesen Trick mit Web Deploy 3.6 unter Win 2012 R2. Funktionierte nicht mit dem folgenden Fehler "Fehler:" Der Konfigurationsabschnitt 'system.webServer / management / delegation' kann nicht gelesen werden, da das Schema fehlt. "... Web Deploy 3.6 wurde deinstalliert und Web Deploy 3.5 wurde von iis.net entfernt / downloads / microsoft / web-deploy Worked.
Sinned Lolwut
Das hilft mir sehr! Vielen Dank. Win2012 r iis 8
Roberto Gata
18

Ein wichtiger Punkt ist meiner Meinung nach, dass Sie zuerst den Verwaltungsdienst aktivieren und dann Web Deploy installieren müssen.

Ich habe es umgekehrt gemacht und es hat nicht funktioniert.

Erst durch die Neuinstallation von Web Deployment funktionierte es.

Haymansfield
quelle
Das gleiche ist mir passiert. Was ein Alptraum!
Christopher Townsend
1
Ich denke, die meisten Leute hier (einschließlich ich) hatten das gleiche Problem, aber sie haben es nicht bemerkt, weil das Deinstallieren der
Webbereitstellung, das erneute Installieren
13

Bei der Installation von Web Deploy über das Webplattform-Installationsprogramm wurde der Handler nicht ausgewählt. Ich musste Web Deploy 3.0 manuell installieren, auf "Ändern" klicken und dann den zu installierenden Handler auswählen.

mga911
quelle
12

Nach stundenlangem Suchen hat Ihre Lösung unten für mich funktioniert !!

Control Panel > Programme und Funktionen

Klicken Sie mit der rechten Maustaste auf Microsoft Web Deploy 3.5

Wählen Sie Ändern> klicken Sie auf Weiter> klicken Sie auf Ändern

Sie werden feststellen, wenn Web Deployment Framework ausgewählt ist, das in der Nachricht angezeigt wird

 "It has 0 of 3 subfeatures selected"

Klicken Sie auf Dropdown-Auswahl "Entire feature will be installed on local hard drive"

Weiter> Ändern> Fertig stellen

Laurent
quelle
8

In meinem Fall habe ich bei der Installation des Web Deploy 3.0-Pakets über das Web Pi nie die Option Management Service Delegation in IIS / Home erhalten. Durch die Neuinstallation wurde das Problem jedoch behoben und der Fehler 404.7 behoben.

Dies war unter Microsoft Server 2012 und IIS8

Bearbeiten: Ich habe erst kürzlich das Gleiche unter Windows 8 versucht und möchte darauf hinweisen, dass auf der Microsoft-Website Folgendes angegeben ist:

Sie können Remote Publishing nicht mit Web Deploy für eine Site einrichten, die in IIS unter Windows 8.0 oder 8.1 gehostet wird. Der Grund dafür ist, dass die Client-SKUs für Windows nicht mit dem Webverwaltungsdienst geliefert werden, der für Remoteverbindungen erforderlich ist. Unter Windows 8.0 oder 8.1 sind das Symbol für die IIS-Manager-Berechtigungen und die Bereitstellungsoption "Web Deploy Publishing konfigurieren", die zum Konfigurieren der Remoteveröffentlichung erforderlich sind, im IIS-Manager nicht verfügbar. http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

(Ja, ich weiß, dass das Ziel Server 2012 in der Frage ist, aber dies könnte viele Leute davor bewahren, die gleichen Kopfschmerzen wie ich zu haben, da dies auf meinem alten Entwicklungscomputer gut funktioniert hat, den ich den Leuten mitteilen wollte.)

Crypth
quelle
3

Anstatt Web Platform Installer zu verwenden. Laden Sie die Datei WebDeploy.exe von der Website herunter und installieren Sie sie auf dem Server mit der Option "Komplettes Paket".

Es wird das Problem beheben.

FAHID
quelle
1

Außerdem müssen Sie möglicherweise Zugriff für den Webverwaltungsdienst gewähren

Ich hatte auch das Problem, dass Visual Studio (2013) die App auf meinem Server nicht aktualisieren konnte (Windows 2012 R2 IIS 8.5). Ich habe die Komponenten manuell wie oben beschrieben hinzugefügt, aber das hat das Problem nicht gelöst. Dann habe ich diesen Artikel gefunden .

Grundsätzlich heißt es, dass der Webverwaltungsdienst als lokaler Dienst angemeldet ist, der keine Zugriffsrechte auf das Inetpub-Verzeichnis hat. Das Erteilen von Berechtigungen für den lokalen Dienst hat das Problem für mich gelöst.

Kapitän Dashenka
quelle
1

Ich habe das gleiche Problem. Ich habe dies durch "Restart-Service wmsvc" behoben.

Evgeny Ponamarev
quelle
1
Hey, habe deine Frage positiv bewertet, da sie zu helfen scheint, da dies deine erste Antwort hier ist. Es wäre großartig, wenn du beim nächsten Mal ein kleines bisschen mehr schreiben könntest. Nur noch ein paar Worte, vollständige Sätze werden sehr geschätzt :)
Tim Cadenbach
-1

Verwendet nur Windows Auth. Web Deploy 3.5. Und nur das WMSVC-Zertifikat, das im Management Service-Symbol des Top-Level-Server-Symbols festgelegt ist.

pat capozzi
quelle