Obtenir un 404 de WMSvc via MSDeploy.exe

121

De Windows 8 à Windows Server 2012 (IIS 8) avec les services de gestion Web installés et fonctionnels, je peux utiliser le gestionnaire IIS sur la boîte W8 pour gérer le serveur distant mais j'obtiens un 404.7 de WMSvc lorsque j'exécute la commande suivante:

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

J'ai essayé toutes sortes de combinaisons et de paramètres. Je peux telnet sur ce port, je sais que c'est ouvert.

Je supprime simplement la fonctionnalité du service de gestion de Windows et je redémarre. Je vais me verser un scotch et faire des collations. En attendant, si vous avez des idées, partagez-les.

Rejoignez mon blog en direct ci-dessous et suivez l'action.

Mise à jour 1

Avec le service de gestion supprimé, je reçois maintenant

Erreur: impossible de se connecter au serveur distant Erreur: aucune connexion n'a pu être établie car la machine cible l'a activement refusée 192.168.2.22:8172 Nombre d'erreurs: 1.

Où la 2ème ligne est un nouveau message! Woohoo.

Mise à jour 2

Ok, donc les choses vont de mal en pis maintenant. Depuis la réinstallation, la console IIS distante alertera sur le certificat, puis dira,

Le serveur n'accepte pas les connexions à distance.

Mais je pense que c'est parce que je n'ai probablement pas réactivé la gestion à distance, en plus d'installer cette fichue chose.

Mise à jour 3

Avec la gestion à distance activée, l'IIS distant fonctionne à nouveau mais le 404 est de retour. Juste dans l'intérêt du référencement, voici l'erreur complète:

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.

Mise à jour 4

J'ai essayé la même commande contre un autre serveur Web via un VPN à un client et cela fonctionne un charme! On dirait que IIS est fubar'ed sur ma nouvelle version 2012 absolument fessée.

Mise à jour 5

J'ai activé le suivi des demandes ayant échoué pour WMSvc et j'ai vu que le 404.7 provient du module RequestFilteringModule. 404.7 est une 'extension de fichier refusée' selon la documentation.

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

L'ajout d'une règle de serveur explicite pour les fichiers .axd n'aide cependant pas. Intéressant de voir ce module car il impose des restrictions sur la longueur des URL et la taille du contenu. Pouvez-vous imaginer résoudre ce problème dans une application WCF hébergée par IIS! Haha. Je pleure vraiment.

Mise à jour 6

Je supprime le filtrage des demandes, ce qui signifie supprimer ASP.NET et diverses autres choses également. Ils ont besoin d'une option Réinstaller les fonctionnalités et les dépendances Windows en un seul coup, car nous écrivons des logiciels peu fiables.

Mise à jour 7

Je réinstalle tout et puis un Australien nommé Richard apparaît de nulle part et explique totalement que Web Deploy ne fait pas réellement partie de WMSvc en standard, même sur IIS 8, et que je dois installer Web Deploy.

Moi aussi. Ensuite, je désactive MsDepSvc qui est l'autre partie qu'il installe (que je pensais être l'intégralité de Web Deploy) car il aspire le port 80 et empêche les équilibreurs de charge de voir un service IIS en panne.

Et il fonctionne. Je peux aller me coucher.

Luke Puplett
la source
24
+1 pour le mot de passe hilarant
Michael12345
4
Combien de productivité perdons-nous tous à cause de ce gâchis? Je rencontre un problème similaire, mais je rencontre un cas où IIS plante lors de la recherche de noms d'utilisateur.
ATL_DEV
6
Sur Windows 2012, c'était une commande d'installation pour moi, je devais d'abord installer la fonctionnalité Web Management Service, puis installer Web deploy 3.5.
JustEngland
1
L'installation de Web deploy ne suffit pas !. J'avais installé Web deploy, c'était la première chose que j'ai faite. J'ai dû aller ajouter / supprimer des programmes et modifier les paramètres d'installation pour inclure le gestionnaire. Je souhaite de l'amour, du bonheur et de la prospérité au développeur MS qui pensait qu'il était judicieux de ne pas inclure le gestionnaire qui laisse le service faire son travail.
nurettin
J'ai eu toutes sortes de problèmes en essayant de faire fonctionner Web Deploy 3.6, j'ai donc suivi le commentaire de Sinned Lolwut et désinstallé 3.6, et installé 3.5 à la place - a fonctionné en premier. J'ai utilisé Web Platform Installer ( microsoft.com/web/downloads/platform.aspx ) pour installer Web Deploy 3.5. A redémarré le service de gestion Web par la suite et a pu valider la connexion dans le profil Visual Studio Web Deploy. (J'aurais répondu dans un commentaire ci-dessus mais je n'ai pas encore assez de réputation).
bob numéro 2 le

Réponses:

86

Avez-vous installé Web Deploy sur le serveur? Web Deploy enregistre un gestionnaire (/msdeploy.axd) avec WMSVC, donc un 404 serait le code d'état attendu s'il n'était pas installé.

Richard Szalay
la source
2
Non, je n'ai pas. Je ne savais pas que j'en avais besoin! Je pensais que tout le déploiement faisait partie de WMSvc? OMG, je pense que vous avez raison, ils sont si stupides. J'ai récemment été tellement confus avec tout cela et j'ai pensé que Web Deploy que vous installez était juste l'agent, pour les sociétés d'hébergement et autres. Consultez mon autre question stackoverflow.com/questions/13602502/…
Luke Puplett
2
WMSVC permet de configurer à distance IIS. MSDeploy a été créé longtemps après et ne peut donc pas être intégré dans le noyau. Si l'installation de MSDeploy n'est pas une possibilité, vous pouvez utiliser un agent temporaire qui installera un gestionnaire pour la durée du déploiement (vous aurez besoin d'un accès administrateur, évidemment).
Richard Szalay
16
J'ai dû désinstaller Web Deploy 3, puis le réinstaller à nouveau pour le faire fonctionner. D'une manière ou d'une autre, mon IIS8 était en panne.
Rosdi Kasim
30
Même problème, je viens d'entrer dans le Panneau de configuration et de modifier l'installation de "Web Deploy" pour inclure le gestionnaire. Redémarré le service WMSVC et tout était bon!
Matt Woodward
13
Si vous avez installé Web Deploy avant d'installer le service de gestion Web, vous devrez suivre les procédures décrites ci-dessus
Matt Baker
180

Au cas où quelqu'un d'autre aurait les mêmes problèmes que ce que j'ai, j'ai également la même erreur 404. Le moyen le plus rapide que j'ai trouvé pour vérifier était d'aller sur le serveur lui-même et d'ouvrir "https: // <servername>: 8172 / MsDeploy.axd". Chrome et Firefox ont juste montré une page vierge, j'ai donc dû utiliser l'onglet Réseau des outils de développement (F12) pour voir le message d'erreur 404 réel.

D'une manière ou d'une autre, lors de l'installation de Web Deploy 3.0 à partir du programme d'installation de la plate-forme Web, le gestionnaire de déploiement IIS 7 n'a pas été installé, même si le module d'interface utilisateur du gestionnaire IIS l'a fait. Dans mon cas, j'ai téléchargé le fichier .msi d'installation de l'outil de déploiement Web à partir du lien suivant: Installation de l'outil de déploiement Web . Ensuite, j'ai dû revenir à l'outil d'administration IIS (Démarrer -> Exécuter -> inetmgr.exe)> {nom du serveur}> cliquer sur l'icône du service de gestion et redémarrer le service de gestion avant que le gestionnaire MsDeploy.axd ne commence à fonctionner.

Activation du gestionnaire de déploiement IIS + service d'agent distant

entrez la description de l'image ici

VeeTheSecond
la source
98
J'ai pu aller dans Panneau de configuration> Programmes et fonctionnalités. Cliquez avec le bouton droit sur «Microsoft Web Deploy 3.5» et sélectionnez «Modifier». À partir du programme d'installation, sélectionnez "Modifier" et "Gestionnaire de déploiement IIS" était disponible en option (a été désactivé au début. Par ailleurs, "Configurer pour les déploiements non-administrateur" et "Interface utilisateur de délégation du service de gestion" étaient des options supplémentaires.) Ma toute première demande à MSDeploy.axdavait toujours le 404 mais la demande suivante a reçu une invite de connexion.
Carl G
3
Et si vous oubliez comme moi, rappelez-vous que vous devez avoir déjà installé le service de gestion (Ajout / Suppression de fonctionnalités Windows> Serveur Web (IIS)> Outils de gestion> Service de gestion) avant que le «Gestionnaire de déploiement IIS» ne soit visible lors de la modification du Installation de Web Deploy 3.5.
Carl G
@DGDev Web Deployment Tool 2.1 est le précédent de Web Deploy 3.0
Kuepper
1
Hey Carl G, votre commentaire est la seule chose utile que j'ai trouvée pour ce problème. Je souhaite que cela puisse faire partie de la réponse au lieu d'un simple commentaire ici. (L'administrateur s'il vous plaît le mettre comme une bonne réponse si possible)
mohghaderi
@CarlG - bonne prise! J'ai ajouté une capture d'écran pour référence.
SliverNinja - MSFT
69

Sur Windows 2012 R2 Server, j'ai suivi les conseils de mga911.

J'étais coincé à faire fonctionner les déploiements. Avait installé Web Deploy 3.5 -> Délégation de service de gestion activée -> Services garantis démarrés. Le problème était que le gestionnaire de déploiement IIS n'avait pas été installé. En passant par Web PI 4.6, je n'ai pas eu la possibilité d'installer le gestionnaire de déploiement IIS. Vous devez aller dans le panneau de configuration -> Programmes et fonctionnalités Modifier l'installation de Web Deploy 3.5. Veuillez noter mes instructions. Dans le processus de modification, cela indique que tous les sous-packages seront installés, mais le message texte indique que 0 des 3 sous-composants seront installés. L'un de ces composants est le gestionnaire IIS. Lisez attentivement car je ne l'ai pas fait et j'étais frustré :)

  • Panneau de configuration> Programmes et fonctionnalités
  • Cliquez avec le bouton droit sur Microsoft Web Deploy 3.5
    • Sélectionnez Modifier> cliquez sur suivant> cliquez sur Modifier
    • Vous remarquerez que lorsque Web Deployment Framework est sélectionné, vous verrez dans le message "Il a 0 des 3 sous-fonctionnalités sélectionnées"
    • Cliquez sur le menu déroulant, sélectionnez "Toute la fonctionnalité sera installée sur le disque dur local"
    • Suivant> Modifier> Terminer
muglio
la source
2
J'ai essayé cette astuce avec Web Deploy 3.6 sur Win 2012 R2. N'a pas fonctionné avec l'erreur suivante "Erreur:" La section de configuration "system.webServer / management / délégation" ne peut pas être lue car il manque un schéma "... Web Deploy 3.6 désinstallé et Web Deploy 3.5 est désactivé sur iis.net / downloads / microsoft / web-deploy a fonctionné .
Sinned Lolwut
Cela m'aide beaucoup! Merci. Win2012 r iis 8
Roberto Gata
18

Un point important à mon avis est que vous devez d'abord activer le service de gestion, puis installer Web Deploy.

Je l'ai fait dans l'autre sens et cela n'a pas fonctionné.

Ce n'est qu'en réinstallant Web deploy qu'il a commencé à fonctionner.

Haymansfield
la source
Il m'est arrivé la même chose. Quel cauchemard!
Christopher Townsend
1
Je suppose que la plupart des gens ici (y compris moi-même) ont eu le même problème mais ils ne l'ont pas réalisé car désinstaller le déploiement Web, le réinstaller à nouveau, puis redémarrer le service de gestion est à peu près la même chose :)
ilter
13

Lorsque j'ai installé Web Deploy via le programme d'installation de la plate-forme Web, le gestionnaire n'était pas sélectionné. J'ai dû installer manuellement Web Deploy 3.0, cliquer sur «modifier» puis sélectionner le gestionnaire à installer.

mga911
la source
12

Après des heures de recherche, faire votre solution ci-dessous a fonctionné pour moi !!

Control Panel > Programmes et fonctionnalités

Cliquez avec le bouton droit sur Microsoft Web Deploy 3.5

Sélectionnez Modifier> cliquez sur suivant> cliquez sur Modifier

Vous remarquerez que lorsque l'infrastructure de déploiement Web est sélectionnée, vous verrez dans le message

 "It has 0 of 3 subfeatures selected"

Cliquez sur la liste déroulante sélectionnez "Entire feature will be installed on local hard drive"

Suivant> Modifier> Terminer

Laurent
la source
8

Dans mon cas, lors de l'installation du package web deploy 3.0 via le web pi, je n'ai jamais eu l'option de délégation de service de gestion dans IIS / home .. sa réinstallation a cependant corrigé le problème, résolvant ainsi mon erreur 404.7.

C'était sous Microsoft Server 2012 et IIS8

Edit: J'ai récemment essayé la même chose sur Windows 8 et je tiens à souligner que le site Web de Microsoft indique:

Vous ne pouvez pas configurer la publication à distance à l'aide de Web Deploy pour un site hébergé dans IIS sous Windows 8.0 ou 8.1. La raison est que les SKU client pour Windows ne sont pas fournis avec le service de gestion Web requis pour les connexions à distance. Par conséquent, sur Windows 8.0 ou 8.1, l'icône Autorisations du Gestionnaire des services Internet (IIS) et l'option de déploiement Configurer la publication Web Deploy qui sont requises pour configurer la publication à distance ne sont pas disponibles dans le Gestionnaire des services Internet (IIS). http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

(Oui, je réalise que la cible est le serveur 2012 dans la question, mais cela pourrait éviter à beaucoup de gens d'avoir le même mal de tête que moi, car cela fonctionnait très bien sur mon ancienne machine de développement, je voulais que les gens sachent.)

Crypth
la source
3

Plutôt que d'utiliser Web Platform Installer. Téléchargez WebDeploy.exe à partir du site Web et installez-le sur le serveur avec l'option Package complet.

Cela résoudra le problème.

FAHID
la source
1

En outre, vous devrez peut-être accorder l'accès au service de gestion Web

J'ai également eu le problème de Visual Studio (2013) ne pouvait pas mettre à jour l'application sur mon serveur (Windows 2012 R2 IIS 8.5). J'ai ajouté les composants manuellement comme décrit ci-dessus, mais cela n'a pas résolu le problème. Puis j'ai trouvé cet article .

Il indique essentiellement que le service de gestion Web est connecté en tant que service local qui n'a pas de droits d'accès au répertoire Inetpub. L'octroi d'autorisations pour le service local a résolu le problème pour moi.

Capitaine Dashenka
la source
1

J'ai le même problème. J'ai résolu ceci par "Restart-Service wmsvc".

Evgeny Ponamarev
la source
1
Hé, a voté pour votre question car cela semble aider, car c'est votre première réponse ici, ce serait génial si vous pouviez écrire un tout petit peu plus la prochaine fois. Encore quelques mots, des phrases complètes sont vraiment appréciées :)
Tim Cadenbach
-1

Utilisé uniquement Windows auth. Déploiement Web 3.5. Et uniquement le certificat WMSVC qui est défini dans l'icône Service de gestion de l'icône du serveur de niveau supérieur.

Pat Capozzi
la source