Mendapatkan 404 dari WMSvc melalui MSDeploy.exe

121

Dari Windows 8 ke Windows Server 2012 (IIS 8) dengan Layanan Manajemen Web terinstal dan berfungsi, saya dapat menggunakan IIS Manager di kotak W8 untuk mengelola server jarak jauh tetapi saya mendapatkan 404.7 dari WMSvc ketika saya menjalankan perintah berikut:

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

Saya sudah mencoba segala macam kombinasi dan parameter. Saya bisa telnet ke port itu, saya tahu itu terbuka.

Saya baru saja menghapus fitur Layanan Manajemen dari Windows dan memulai ulang. Saya akan menuangkan scotch untuk diri saya sendiri dan membuat makanan ringan. Sementara itu, jika Anda punya ide, silakan bagikan.

Bergabunglah dengan blog langsung saya di bawah ini dan ikuti aksinya.

Perbarui 1

Dengan Layanan Manajemen dihapus, saya sekarang mendapatkan

Kesalahan: Tidak dapat terhubung ke server jarak jauh Kesalahan: Tidak ada koneksi yang dapat dibuat karena mesin target secara aktif menolaknya 192.168.2.22:8172 Jumlah kesalahan: 1.

Dimana baris ke-2 adalah pesan baru! Woo hoo.

Perbarui 2

Oke, jadi semuanya berubah dari buruk menjadi lebih buruk sekarang. Sejak penginstalan ulang, konsol IIS jarak jauh akan memberi peringatan pada sertifikat dan kemudian berkata,

Server tidak menerima koneksi jarak jauh.

Tapi saya pikir ini karena saya mungkin tidak mengaktifkan kembali Manajemen Jarak Jauh, selain menginstal hal terkutuk itu.

Perbarui 3

Dengan Manajemen Jarak Jauh diaktifkan, IIS jarak jauh bekerja lagi tetapi 404 telah kembali. Hanya untuk kepentingan SEO, inilah kesalahan lengkapnya:

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.

Perbarui 4

Mencoba perintah yang sama terhadap server web lain melalui VPN ke klien dan itu bekerja dengan sangat baik! Sepertinya IIS di-fubar pada build 2012 saya yang benar-benar keren.

Perbarui 5

Saya mengaktifkan pelacakan permintaan yang gagal untuk WMSvc dan telah melihat bahwa 404.7 berasal dari modul RequestFilteringModule. 404.7 adalah 'Ekstensi File Ditolak' menurut dokumentasi.

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

Menambahkan aturan server eksplisit untuk file .axd tidak membantu. Menarik untuk melihat modul ini karena memberikan batasan pada panjang URL dan ukuran konten. Dapatkah Anda membayangkan memecahkan masalah ini di aplikasi WCF yang dihosting IIS! Ha ha. Aku benar-benar menangis.

Perbarui 6

Saya menghapus Request Filtering yang berarti menghapus ASP.NET dan berbagai hal lainnya juga. Mereka membutuhkan Reinstall Windows Features & Dependencies All In One Hit Karena Kami Menulis opsi Perangkat Lunak Tidak Dapat Diandalkan.

Perbarui 7

Saya menginstal ulang semuanya dan kemudian beberapa orang Australia bernama Richard muncul entah dari mana dan benar-benar menjelaskan bahwa Penyebaran Web sebenarnya bukan bagian dari WMSvc sebagai standar, bahkan di IIS 8, dan bahwa saya perlu menginstal Web Deploy.

Jadi saya lakukan. Kemudian saya menonaktifkan MsDepSvc yang merupakan bagian lain yang diinstalnya (yang menurut saya merupakan keseluruhan dari Penyebaran Web) karena menyebalkan pada port 80 dan menghentikan penyeimbang beban agar tidak melihat layanan IIS yang rusak.

Dan itu berhasil. Saya bisa pergi tidur.

Luke Puplett
sumber
24
1 untuk kata sandi lucu
Michael12345
4
Berapa banyak produktivitas yang kita semua hilangkan karena kekacauan ini? Saya mengalami masalah serupa tetapi saya mengalami kasus di mana IIS lumpuh saat mencari nama pengguna.
ATL_DEV
6
Pada Windows 2012, itu adalah urutan penginstalan untuk saya, saya harus menginstal fitur Layanan Manajemen Web terlebih dahulu, kemudian menginstal penggunaan web 3.5.
JustEngland
1
Menginstal penerapan web saja tidak cukup !. Saya telah memasang penerapan web, itu adalah hal pertama yang saya lakukan. Saya harus pergi untuk menambah / menghapus program dan mengubah pengaturan instalasi untuk menyertakan penangannya. Saya mendoakan cinta, kebahagiaan dan kemakmuran bagi pengembang MS yang berpikir itu adalah default yang masuk akal untuk tidak menyertakan penangan yang memungkinkan layanan melakukan tugasnya.
nurettin
Saya mengalami berbagai masalah saat mencoba membuat Web Deploy 3.6 berfungsi, jadi ikuti komentar Sinned Lolwut dan menghapus instalan 3.6, dan menginstal 3.5 sebagai gantinya - berfungsi sebagai pop pertama. Saya menggunakan Penginstal Platform Web ( microsoft.com/web/downloads/platform.aspx ) untuk menginstal Web Deploy 3.5. Restart Layanan Manajemen Web setelah itu, dan dapat memvalidasi sambungan di profil Penyebaran Web Visual Studio. (Saya akan menjawab dalam komentar di atas tetapi belum memiliki reputasi yang cukup).
bob nomor 2

Jawaban:

86

Sudahkah Anda menginstal Penerapan Web di server? Penyebaran Web mendaftarkan penangan (/msdeploy.axd) dengan WMSVC, jadi 404 akan menjadi kode status yang diharapkan jika tidak dipasang.

Richard Szalay
sumber
2
Tidak, saya belum. Saya tidak tahu saya harus melakukannya! Saya pikir keseluruhan penerapan adalah bagian dari WMSvc? OMG, kurasa kau benar, mereka sebodoh itu. Baru-baru ini saya sangat bingung dengan semua ini dan berpikir bahwa Web Deploy yang Anda instal hanyalah agennya, untuk perusahaan hosting dan sejenisnya. Lihat pertanyaan saya yang lain stackoverflow.com/questions/13602502/…
Luke Puplett
2
WMSVC adalah untuk mengkonfigurasi IIS dari jarak jauh. MSDeploy dibuat lama setelah itu sehingga tidak dapat diintegrasikan ke dalam inti. Jika menginstal MSDeploy tidak memungkinkan, Anda dapat menggunakan agen sementara yang akan menginstal penangan selama penerapan (Anda pasti memerlukan akses admin).
Richard Szalay
16
Saya harus mencopot pemasangan Web Deploy 3 dan kemudian memasangnya kembali untuk membuatnya berfungsi. Entah bagaimana IIS8 saya kacau.
Rosdi Kasim
30
Masalah yang sama, masuk saja ke Control Panel dan ubah instalasi "Web Deploy" untuk menyertakan Handler. Memulai kembali Layanan WMSVC dan semuanya baik-baik saja!
Matt Woodward
13
Jika Anda menginstal Web Deploy sebelum menginstal Layanan Manajemen Web, Anda harus mengikuti prosedur yang dijelaskan di atas
Matt Baker
180

Jika ada orang lain yang mengalami masalah yang sama dengan yang saya alami, saya juga mendapat kesalahan 404 yang sama. Cara tercepat yang saya temukan untuk memeriksa adalah pergi ke server itu sendiri, dan membuka "https: // <servername>: 8172 / MsDeploy.axd". Chrome & Firefox baru saja menampilkan halaman kosong, jadi saya harus menggunakan tab Jaringan alat pengembang (F12) untuk melihat pesan kesalahan 404 yang sebenarnya.

Entah bagaimana, saat menginstal Web Deploy 3.0 dari Penginstal Platform Web, IIS 7 Deployment Handler tidak diinstal, meskipun IIS Manager UI Module melakukannya. Dalam kasus saya, saya mengunduh Instalasi Alat Penyebaran Web .msi dari tautan berikut: Instalasi Alat Penyebaran Web . Kemudian saya harus kembali ke Alat Admin IIS (Mulai -> Jalankan -> inetmgr.exe)> {nama server}> klik ikon Layanan Manajemen, dan mulai ulang layanan manajemen sebelum penangan MsDeploy.axd mulai bekerja.

Mengaktifkan IIS Deployment Handler + Remote Agent Service

masukkan deskripsi gambar di sini

VeeTheSecond
sumber
98
Saya bisa pergi ke Control Panel> Program dan Fitur. Klik kanan "Microsoft Web Deploy 3.5" dan pilih "Ubah". Dari penginstal pilih "Ubah" dan "IIS Deployment Handler" tersedia sebagai opsi (awalnya dinonaktifkan. Juga "Konfigurasi untuk Penyebaran Non-Administrator" dan "Antarmuka Delegasi Layanan Manajemen" adalah opsi tambahan.) Permintaan pertama saya untuk MSDeploy.axdmasih memiliki 404 tetapi permintaan berikutnya menerima prompt login.
Carl G
3
Dan jika Anda pelupa seperti saya, ingatlah bahwa Anda harus sudah menginstal Layanan Manajemen (Tambah / Hapus Fitur Windows> Server Web (IIS)> Alat Manajemen> Layanan Manajemen) sebelum "IIS Deployment Handler" terlihat saat mengubah Instal Web Deploy 3.5.
Carl G
@DGDev Web Deployment Tool 2.1 adalah pendahulu dari Web Deploy 3.0
Kuepper
1
Hai Carl G, komentar Anda adalah satu-satunya hal berguna yang saya temukan untuk masalah ini. Saya berharap ini bisa menjadi bagian dari jawaban daripada komentar sederhana di sini. (Admin harap berikan jawaban yang benar jika memungkinkan)
mohghaderi
@CarlG - tangkapan yang bagus! Saya menambahkan tangkapan layar untuk referensi.
SliverNinja - MSFT
69

Pada Windows 2012 R2 Server saya mengikuti saran mga911.

Saya terjebak dalam penerapan kerja. Telah menginstal Web Deploy 3.5 -> Diaktifkan Delegasi Layanan Manajemen -> Pastikan Layanan dimulai. Masalahnya adalah penangan Penerapan IIS belum diinstal. Melalui Web PI 4.6 Saya tidak diberi kesempatan untuk menginstal penangan penerapan IIS. Anda harus masuk ke panel kontrol -> Program dan Fitur Ubah penginstalan Web Deploy 3.5. Harap perhatikan instruksi saya. Dalam proses perubahan ini menunjukkan semua sub paket akan diinstal tetapi pesan teks mengatakan 0 dari 3 sub komponen akan diinstal. Salah satu komponen tersebut adalah penangan IIS. Baca dengan cermat karena saya tidak melakukannya dan frustrasi :)

  • Panel Kontrol> Program dan Fitur
  • Klik kanan pada Microsoft Web Deploy 3.5
    • Pilih Ubah> klik berikutnya> klik ubah
    • Anda akan melihat ketika Web Deployment Framework dipilih, Anda akan melihat pesan "Ini memiliki 0 dari 3 subfitur yang dipilih"
    • Klik drop down pilih "Seluruh fitur akan diinstal pada hard drive lokal"
    • Berikutnya> Ubah> Selesai
muglio
sumber
2
Mencoba trik ini dengan Web Deploy 3.6 pada Win 2012 R2. Tidak bekerja dengan kesalahan berikut "Kesalahan:" Bagian konfigurasi 'system.webServer / management / delegation' tidak dapat dibaca karena skema hilang "... Uninstall Web Deploy 3.6 dan menonaktifkan Web Deploy 3.5 dari iis.net / downloads / microsoft / web-deploy Bekerja.
Sinned Lolwut
Ini sangat membantu saya! Terima kasih. Win2012 r iis 8
Roberto Gata
18

Satu hal penting yang menurut saya adalah Anda harus mengaktifkan layanan Manajemen terlebih dahulu, lalu menginstal Web Deploy.

Saya melakukannya sebaliknya dan tidak berhasil.

Hanya dengan menginstal ulang penyebaran Web barulah itu mulai bekerja.

haymansfield
sumber
Hal yang sama terjadi pada saya. Sungguh mimpi buruk!
Christopher Townsend
1
Saya kira sebagian besar orang di sini (termasuk saya) memiliki masalah yang sama tetapi mereka tidak menyadarinya karena mencopot pemasangan web, memasangnya kembali, dan kemudian memulai ulang Layanan Manajemen adalah hal yang hampir sama :)
ilter
13

Ketika saya menginstal Web Deploy melalui penginstal platform web, Handler tidak dipilih. Saya harus menginstal Web Deploy 3.0 secara manual, klik "ubah", lalu pilih Handler yang akan diinstal.

mga911
sumber
12

Setelah berjam-jam mencari, melakukan solusi Anda di bawah ini berhasil untuk saya !!

Control Panel > Program dan Fitur

Klik kanan pada Microsoft Web Deploy 3.5

Pilih Ubah> klik berikutnya> klik ubah

Anda akan melihat ketika Web Deployment Framework dipilih, Anda akan melihat di pesan

 "It has 0 of 3 subfeatures selected"

Klik pada drop down pilih "Entire feature will be installed on local hard drive"

Berikutnya> Ubah> Selesai

Laurent
sumber
8

Dalam kasus saya, ketika menginstal paket web menyebarkan 3.0 melalui web pi saya tidak pernah mendapat opsi Delegasi Layanan Manajemen di IIS / rumah .. menginstal ulang itu memperbaiki masalah namun, sehingga menyelesaikan Kesalahan 404.7 saya.

Ini berada di bawah Microsoft Server 2012 dan IIS8

Sunting: Saya baru saja mencoba hal yang sama di Windows 8 dan ingin menunjukkan bahwa situs web microsoft menyatakan:

Anda tidak dapat menyiapkan penerbitan jarak jauh menggunakan penyebaran Web untuk situs yang dihosting di IIS di Windows 8.0 atau 8.1. Alasannya adalah bahwa SKU klien untuk Windows tidak disertakan dengan Layanan Manajemen Web yang diperlukan untuk sambungan jarak jauh. Akibatnya, pada Windows 8.0 atau 8.1, ikon Izin Manajer IIS dan opsi Penyebaran Penerbitan Konfigurasi Web yang diperlukan untuk mengkonfigurasi penerbitan jarak jauh tidak tersedia di Manajer IIS. http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

(Ya, saya menyadari targetnya adalah Server 2012 yang dimaksud, tetapi ini dapat menyelamatkan banyak orang dari sakit kepala yang sama dengan saya, karena ini berfungsi dengan baik pada mesin dev lama saya, saya ingin memberi tahu orang-orang.)

Crypth
sumber
3

Daripada menggunakan Penginstal Platform Web. Unduh WebDeploy.exe dari situs web dan instal di server dengan opsi Paket lengkap.

Ini akan memperbaiki masalah.

FAHID
sumber
1

Selain itu, Anda mungkin perlu memberikan akses untuk Layanan Manajemen Web

Saya juga memiliki masalah Visual Studio (2013) tidak dapat memperbarui aplikasi di server saya (Windows 2012 R2 IIS 8.5). Saya menambahkan komponen secara manual seperti yang dijelaskan di atas, tetapi itu tidak menyelesaikan masalah. Kemudian saya menemukan artikel ini .

Pada dasarnya dikatakan bahwa Layanan Manajemen Web login sebagai Layanan Lokal yang tidak memiliki hak akses ke direktori Inetpub. Memberikan izin untuk Layanan Lokal memecahkan masalah bagi saya.

Kapten Dashenka
sumber
1

Saya punya masalah yang sama. Saya menyelesaikan ini dengan "Restart-Service wmsvc".

Evgeny Ponamarev
sumber
1
Hai, beri suara positif pada pertanyaan Anda karena tampaknya membantu, karena ini adalah jawaban pertama Anda di sini, akan sangat bagus jika Anda dapat menulis sedikit lagi lain kali. Hanya beberapa kata lagi, kalimat lengkap sangat dihargai :)
Tim Cadenbach
-1

Hanya digunakan windows auth. Penerapan web 3.5. Dan hanya sertifikat WMSVC yang diatur dalam ikon Layanan Manajemen ikon server tingkat atas.

tepuk capozzi
sumber