รับ 404 จาก WMSvc ผ่าน MSDeploy.exe


121

จาก Windows 8 เป็น Windows Server 2012 (IIS 8) ที่ติดตั้งและใช้งาน Web Management Services ฉันสามารถใช้ IIS Manager บนกล่อง W8 เพื่อจัดการเซิร์ฟเวอร์ระยะไกลได้ แต่ฉันได้รับ 404.7 จาก WMSvc เมื่อฉันดำเนินการคำสั่งต่อไปนี้:

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

ฉันได้ลองชุดค่าผสมและพารามิเตอร์ทุกประเภทแล้ว ฉันสามารถเทลเน็ตไปยังพอร์ตนั้นฉันรู้ว่ามันเปิดอยู่

ฉันเพิ่งลบฟีเจอร์ Management Service ออกจาก Windows และรีสตาร์ท ฉันจะเทสก็อตให้ตัวเองและทำขนม ในระหว่างนี้หากคุณมีแนวคิดใด ๆ โปรดแบ่งปัน

เข้าร่วมบล็อกสดของฉันด้านล่างและติดตามการดำเนินการ

อัปเดต 1

เมื่อลบ Management Service ออกตอนนี้ฉันได้รับ

ข้อผิดพลาด: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลข้อผิดพลาด: ไม่สามารถทำการเชื่อมต่อได้เนื่องจากเครื่องเป้าหมายปฏิเสธอย่างแข็งขัน 192.168.2.22:8172 จำนวนข้อผิดพลาด: 1.

โดยที่บรรทัดที่ 2 เป็นข้อความใหม่! ดีจัง

อัปเดต 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 ไปยังไคลเอนต์และนั่นก็เป็นเสน่ห์! ดูเหมือนว่า IIS จะได้รับความสนใจจากงานสร้าง 2012 ใหม่ของฉัน

อัปเดต 5

ฉันเปิดใช้งานการติดตามคำขอที่ล้มเหลวสำหรับ WMSvc และพบว่า 404.7 มาจากโมดูล RequestFilteringModule 404.7 คือ 'File Extension Denied' ตามเอกสาร

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

การเพิ่มกฎเซิร์ฟเวอร์ที่ชัดเจนสำหรับไฟล์. xd ไม่ได้ช่วยอะไร น่าสนใจที่จะเห็นโมดูลนี้เนื่องจากมีข้อ จำกัด เกี่ยวกับความยาว URL และขนาดเนื้อหา คุณนึกภาพการแก้ปัญหานี้ในแอป WCF โฮสต์ IIS ได้ไหม! ฮ่าฮ่า ฉันกำลังร้องไห้จริงๆ

อัปเดต 6

ฉันกำลังลบ Request Filtering ซึ่งหมายถึงการลบ ASP.NET และสิ่งอื่น ๆ ด้วย พวกเขาต้องการการติดตั้งคุณลักษณะและการอ้างอิงของ Windows ใหม่ทั้งหมดในครั้งเดียวเนื่องจากเราเขียนตัวเลือกซอฟต์แวร์ที่ไม่น่าเชื่อถือ

อัปเดต 7

ฉันติดตั้งทุกอย่างใหม่จากนั้นชาวออสซี่บางคนชื่อ Richard ก็ปรากฏตัวขึ้นจากที่ใดและอธิบายโดยสิ้นเชิงว่า Web Deploy ไม่ได้เป็นส่วนหนึ่งของ WMSvc ตามมาตรฐานแม้แต่ใน IIS 8 และฉันจำเป็นต้องติดตั้ง Web Deploy

ดังนั้นฉันจึงทำ จากนั้นฉันปิดใช้งาน MsDepSvc ซึ่งเป็นส่วนอื่นที่ติดตั้ง (ซึ่งฉันคิดว่าเป็น Web Deploy ทั้งหมด) เพราะมันดูดพอร์ต 80 และหยุดโหลดบาลานเซอร์ไม่ให้เห็นบริการ IIS ที่กระดก

และได้ผล เข้านอนได้แล้ว


24
+1 สำหรับรหัสผ่านเฮฮา
Michael12345

4
ผลผลิตที่เราทั้งหมดสูญเสียไปจากความยุ่งเหยิงนี้ไปเท่าไร ฉันพบปัญหาที่คล้ายกัน แต่ฉันพบปัญหาที่ IIS ขัดข้องเมื่อค้นหาชื่อผู้ใช้
ATL_DEV

6
ใน Windows 2012 เป็นลำดับการติดตั้งสำหรับฉันฉันต้องติดตั้งคุณสมบัติ Web Management Service ก่อนจากนั้นติดตั้ง web deploy 3.5
JustEngland

1
การติดตั้งการปรับใช้เว็บนั้นไม่เพียงพอ!. ฉันติดตั้ง Web Deploy ไว้แล้วเป็นสิ่งแรกที่ฉันทำ ฉันต้องไปเพิ่ม / ลบโปรแกรมและเปลี่ยนการตั้งค่าการติดตั้งเพื่อรวมตัวจัดการ ฉันขอให้ความรักความสุขและความเจริญรุ่งเรืองแก่ผู้พัฒนา MS ที่คิดว่าเป็นค่าเริ่มต้นที่สมเหตุสมผลที่จะไม่รวมตัวจัดการที่ให้บริการทำงานได้
nurettin

ฉันมีปัญหาทุกประเภทในการพยายามทำให้ Web Deploy 3.6 ทำงานได้ดังนั้นทำตามความคิดเห็นของ Sinned Lolwut และถอนการติดตั้ง 3.6 และติดตั้ง 3.5 แทน - ทำงานป๊อปแรก ฉันใช้ Web Platform Installer ( microsoft.com/web/downloads/platform.aspx ) เพื่อติดตั้ง Web Deploy 3.5 เริ่มบริการการจัดการเว็บใหม่หลังจากนั้นและสามารถตรวจสอบการเชื่อมต่อในโปรไฟล์ Visual Studio Web Deploy (ฉันจะตอบในความคิดเห็นด้านบน แต่ยังไม่มีชื่อเสียงเพียงพอ)
bob หมายเลข 2

คำตอบ:


86

คุณได้ติดตั้ง Web Deploy บนเซิร์ฟเวอร์แล้วหรือยัง? Web Deploy จะลงทะเบียนตัวจัดการ (/msdeploy.axd) กับ WMSVC ดังนั้น 404 จะเป็นรหัสสถานะที่คาดไว้หากไม่ได้ติดตั้ง


2
ไม่ฉันยังไม่ได้ ฉันไม่รู้ว่าฉันต้องการ! ฉันคิดว่าการปรับใช้ทั้งหมดเป็นส่วนหนึ่งของ WMSvc? OMG ฉันคิดว่าคุณพูดถูกพวกเขาโง่มาก เมื่อไม่นานมานี้ฉันรู้สึกสับสนกับสิ่งเหล่านี้มากและคิดว่า Web Deploy สิ่งที่คุณติดตั้งเป็นเพียงตัวแทนสำหรับ บริษัท โฮสติ้งและอื่น ๆ ตรวจสอบคำถามอื่น ๆ ของฉันstackoverflow.com/questions/13602502/…
Luke Puplett

2
WMSVC ใช้สำหรับการกำหนดค่า IIS จากระยะไกล MSDeploy ถูกสร้างขึ้นหลังจากนั้นไม่นานจึงไม่สามารถรวมเข้ากับแกนหลักได้ หากการติดตั้ง MSDeploy ไม่สามารถทำได้คุณสามารถใช้ตัวแทนชั่วคราวซึ่งจะติดตั้งตัวจัดการในช่วงระยะเวลาของการปรับใช้ (คุณต้องมีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบ)
Richard Szalay

16
ฉันต้องถอนการติดตั้ง Web Deploy 3 แล้วติดตั้งใหม่อีกครั้งเพื่อให้มันใช้งานได้ IIS8 ของฉันเกิดความสับสนอย่างใด
Rosdi Kasim

31
ปัญหาเดียวกันเพิ่งเข้าไปใน Control Panel และเปลี่ยนการติดตั้ง "Web Deploy" เพื่อรวม Handler เริ่มบริการ WMSVC ใหม่และทุกอย่างดีมาก!
Matt Woodward

13
หากคุณติดตั้ง Web Deploy ก่อนที่คุณจะติดตั้ง Web Management Service คุณจะต้องทำตามขั้นตอนที่อธิบายไว้ข้างต้น
Matt Baker

180

ในกรณีที่มีคนอื่นประสบปัญหาเดียวกันกับที่ฉันมีอยู่ฉันก็ได้รับข้อผิดพลาด 404 เหมือนกัน วิธีตรวจสอบที่เร็วที่สุดคือไปที่เซิร์ฟเวอร์แล้วเปิด "https: // <servername>: 8172 / MsDeploy.axd" Chrome & Firefox เพิ่งแสดงหน้าว่างดังนั้นฉันต้องใช้แท็บเครือข่ายของเครื่องมือสำหรับนักพัฒนา (F12) เพื่อดูข้อความแสดงข้อผิดพลาด 404 ที่แท้จริง

อย่างไรก็ตามในขณะที่ติดตั้ง Web Deploy 3.0 จาก Web Platform Installer ตัวจัดการการปรับใช้ IIS 7 ไม่ได้รับการติดตั้งแม้ว่าโมดูล UI ของตัวจัดการ IIS จะทำก็ตาม ในกรณีของฉันฉันดาวน์โหลด .msi การติดตั้งเครื่องมือการปรับใช้เว็บได้จากลิงค์ต่อไปนี้: การติดตั้งเครื่องมือการปรับใช้เว็บ จากนั้นฉันต้องกลับไปที่ IIS Admin Tool (Start -> Run -> inetmgr.exe)> {server name}> คลิกที่ไอคอน Management Service และเริ่มบริการการจัดการใหม่ก่อนที่ตัวจัดการ MsDeploy.axd จะเริ่มทำงาน

การเปิดใช้งาน IIS Deployment Handler + Remote Agent Service

ใส่คำอธิบายภาพที่นี่


98
ฉันสามารถไปที่ Control Panel> Programs and Features คลิกขวาที่ "Microsoft Web Deploy 3.5" และเลือก "Change" จากตัวติดตั้งให้เลือก "Change" และ "IIS Deployment Handler" เป็นตัวเลือก (ถูกปิดใช้งานในตอนแรกนอกจากนี้ "Configure for Non-Administrator Deployments" และ "Management Service Delegation UI" เป็นตัวเลือกเพิ่มเติม) คำขอแรกของฉันที่จะMSDeploy.axdยังคงมี 404 แต่คำขอถัดไปได้รับแจ้งการเข้าสู่ระบบ
Carl G

3
และถ้าคุณขี้ลืมเหมือนฉันโปรดจำไว้ว่าคุณต้องติดตั้งบริการการจัดการ (เพิ่ม / ลบคุณสมบัติของ Windows> เว็บเซิร์ฟเวอร์ (IIS)> เครื่องมือการจัดการ> บริการการจัดการ) ก่อนที่ "ตัวจัดการการปรับใช้ IIS" จะปรากฏขึ้นในขณะที่เปลี่ยน การติดตั้ง Web Deploy 3.5
Carl G

@DGDev Web Deployment Tool 2.1 เป็นรุ่นก่อนหน้าของ Web Deploy 3.0
Kuepper

1
เฮ้ Carl G ความคิดเห็นของคุณเป็นประโยชน์เพียงอย่างเดียวที่ฉันพบสำหรับปัญหานี้ ฉันหวังว่ามันจะเป็นส่วนหนึ่งของคำตอบแทนความคิดเห็นง่ายๆที่นี่ (
แอดมิน

@CarlG - จับมาก! ฉันเพิ่มการจับภาพหน้าจอเพื่อใช้อ้างอิง
SliverNinja - MSFT

69

ใน Windows 2012 R2 Server ฉันทำตามคำแนะนำของ mga911

ฉันติดขัดในการปรับใช้งาน ได้ติดตั้ง Web Deploy 3.5 -> Enabled Management Service Delegation -> Ensured Services เริ่มทำงานแล้ว ปัญหาคือไม่ได้ติดตั้งตัวจัดการการปรับใช้ IIS ผ่าน Web PI 4.6 ฉันไม่ได้รับโอกาสในการติดตั้งตัวจัดการการปรับใช้ IIS คุณต้องเข้าไปที่แผงควบคุม -> โปรแกรมและคุณลักษณะเปลี่ยนการติดตั้ง Web Deploy 3.5 โปรดสังเกตคำแนะนำของฉัน ในกระบวนการเปลี่ยนแปลงระบุว่าจะติดตั้งแพ็กเกจย่อยทั้งหมด แต่ข้อความแจ้งว่าจะติดตั้งส่วนประกอบย่อย 0 จาก 3 รายการ หนึ่งในส่วนประกอบเหล่านั้นคือตัวจัดการ IIS อ่านอย่างระมัดระวังเพราะฉันไม่ได้และหงุดหงิด :)

  • แผงควบคุม> โปรแกรมและคุณสมบัติ
  • คลิกขวาที่ Microsoft Web Deploy 3.5
    • เลือกเปลี่ยน> คลิกถัดไป> คลิกเปลี่ยนแปลง
    • คุณจะสังเกตเห็นเมื่อเลือก Web Deployment Framework แล้วคุณจะเห็นข้อความ "It has 0 of 3 subfeatures selected"
    • คลิกที่เมนูแบบเลื่อนลงเลือก "คุณสมบัติทั้งหมดจะถูกติดตั้งในฮาร์ดไดรฟ์ในเครื่อง"
    • ถัดไป> เปลี่ยน> เสร็จสิ้น

2
ลองใช้เคล็ดลับนี้กับ Web Deploy 3.6 บน Win 2012 R2 ไม่ทำงานกับข้อผิดพลาด "ข้อผิดพลาดต่อไปนี้:" ไม่สามารถอ่านส่วนการกำหนดค่า "system.webServer / management / delegation" ได้เนื่องจากไม่มี schema "... Uninstalled Web Deploy 3.6 และได้รับ Web Deploy 3.5 จากiis.net / ดาวน์โหลด / microsoft / web-deploy Worked.
Sinned Lolwut

สิ่งนี้ช่วยฉันได้มาก! ขอขอบคุณ Win2012 r iis 8
Roberto Gata

18

ประเด็นสำคัญอย่างหนึ่งที่ฉันคิดคือคุณต้องเปิดบริการการจัดการก่อนจากนั้นจึงติดตั้ง Web Deploy

ฉันทำในทางกลับกันและมันไม่ได้ผล

โดยการติดตั้ง Web deploy ใหม่เท่านั้นจึงจะเริ่มทำงานได้


สิ่งเดียวกันเกิดขึ้นกับฉัน ช่างเป็นฝันร้าย!
Christopher Townsend

1
ฉันเดาว่าคนส่วนใหญ่ที่นี่ (รวมถึงตัวฉันเอง) มีปัญหาเดียวกัน แต่พวกเขาไม่รู้ตัวเพราะการถอนการติดตั้งการปรับใช้เว็บการติดตั้งใหม่อีกครั้งแล้วเริ่มบริการการจัดการใหม่นั้นค่อนข้างเหมือนกัน :)
ilter

13

เมื่อฉันติดตั้ง Web Deploy ผ่านตัวติดตั้งแพลตฟอร์มเว็บไม่ได้เลือก Handler ฉันต้องติดตั้ง Web Deploy 3.0 ด้วยตนเองคลิก "เปลี่ยนแปลง" จากนั้นเลือก Handler ที่จะติดตั้ง


12

หลังจากค้นหามาหลายชั่วโมงการแก้ปัญหาด้านล่างได้ผลสำหรับฉัน !!

Control Panel > โปรแกรมและคุณสมบัติ

คลิกขวาที่ Microsoft Web Deploy 3.5

เลือกเปลี่ยน> คลิกถัดไป> คลิกเปลี่ยนแปลง

คุณจะสังเกตเห็นเมื่อเลือก Web Deployment Framework แล้วคุณจะเห็นในข้อความ

 "It has 0 of 3 subfeatures selected"

คลิกที่เมนูแบบเลื่อนลงเลือก "Entire feature will be installed on local hard drive"

ถัดไป> เปลี่ยน> เสร็จสิ้น


8

ในกรณีของฉันเมื่อติดตั้งแพคเกจ web deploy 3.0 ผ่านเว็บ pi ฉันไม่เคยได้รับตัวเลือก Management Service Delegation ใน IIS / home .. การติดตั้งใหม่ได้แก้ไขปัญหาอย่างไรก็ตามการแก้ไขข้อผิดพลาด 404.7 ของฉัน

อยู่ภายใต้ Microsoft Server 2012 และ IIS8

แก้ไข: ฉันเพิ่งลองสิ่งเดียวกันบน Windows 8 และต้องการชี้ให้เห็นว่าเว็บไซต์ microsoft ระบุว่า:

คุณไม่สามารถตั้งค่าการเผยแพร่ระยะไกลโดยใช้ Web Deploy สำหรับไซต์ที่โฮสต์ใน IIS บน Windows 8.0 หรือ 8.1 เหตุผลก็คือ SKU ของไคลเอ็นต์สำหรับ Windows ไม่ได้มาพร้อมกับ Web Management Service ที่จำเป็นสำหรับการเชื่อมต่อระยะไกล ด้วยเหตุนี้บน Windows 8.0 หรือ 8.1 ไอคอนสิทธิ์ตัวจัดการ IIS และตัวเลือกกำหนดค่าการปรับใช้ Web Deploy Publishing ที่จำเป็นในการกำหนดค่าการเผยแพร่ระยะไกลจะไม่พร้อมใช้งานในตัวจัดการ IIShttp://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

(ใช่ฉันรู้ว่าเป้าหมายคือเซิร์ฟเวอร์ 2012 ในคำถาม แต่สิ่งนี้สามารถช่วยผู้คนจำนวนมากจากการปวดหัวเช่นเดียวกับฉันเนื่องจากสิ่งนี้ใช้งานได้ดีในเครื่อง dev เก่าของฉันฉันต้องการให้คนอื่นรู้)


3

แทนที่จะใช้ Web Platform Installer ดาวน์โหลด WebDeploy.exe จากเว็บไซต์และติดตั้งบนเซิร์ฟเวอร์ด้วยตัวเลือก Complete package

จะแก้ไขปัญหาได้


1

นอกจากนี้คุณอาจต้องให้สิทธิ์การเข้าถึงบริการการจัดการเว็บ

ฉันยังมีปัญหา Visual Studio (2013) ไม่สามารถอัปเดตแอปบนเซิร์ฟเวอร์ของฉัน (Windows 2012 R2 IIS 8.5) ฉันเพิ่มส่วนประกอบด้วยตนเองตามที่อธิบายไว้ข้างต้น แต่ไม่สามารถแก้ปัญหาได้ แล้วฉันได้พบบทความนี้

โดยพื้นฐานแล้วกล่าวว่าบริการการจัดการเว็บเข้าสู่ระบบเป็น Local Service ซึ่งไม่มีสิทธิ์เข้าถึงไดเร็กทอรี Inetpub การให้สิทธิ์สำหรับ Local Service ช่วยแก้ปัญหาให้ฉันได้


1

ฉันมีปัญหาเดียวกัน ฉันแก้ไขปัญหานี้โดย "Restart-Service wmsvc"


1
เฮ้ยกระดับคำถามของคุณเพราะดูเหมือนว่าจะช่วยได้เนื่องจากนี่เป็นคำตอบแรกของคุณที่นี่จะดีมากถ้าคุณสามารถเขียนเพิ่มเติมเล็กน้อยในครั้งต่อไป อีกไม่กี่คำก็ซาบซึ้งเต็มประโยค :)
Tim Cadenbach

-1

ใช้เฉพาะ windows auth การปรับใช้เว็บ 3.5 และเฉพาะใบรับรอง WMSVC ซึ่งตั้งค่าไว้ในไอคอน Management Service ของไอคอนเซิร์ฟเวอร์ระดับบนสุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.