ไม่สามารถเข้าถึงหน้าที่ร้องขอได้เนื่องจากข้อมูลการกำหนดค่าที่เกี่ยวข้องสำหรับหน้านั้นเป็นข้อผิดพลาดที่ไม่ถูกต้อง


479

ฉันต้องการอัปโหลดเว็บไซต์ asp.net ของฉันเองบน IIS ด้วย IIS Manager แต่เมื่อฉันทำสิ่งนี้ฉันได้รับข้อผิดพลาดต่อไปนี้

HTTP Error 500.19 - ข้อผิดพลาดเซิร์ฟเวอร์ภายในไม่สามารถเข้าถึงหน้าที่ร้องขอได้เนื่องจากข้อมูลการกำหนดค่าที่เกี่ยวข้องสำหรับหน้านั้นไม่ถูกต้อง

โมดูล IIS เว็บหลัก
ประกาศ Unknown
Handlerยังไม่ได้กำหนด
รหัสข้อผิดพลาด 0x80070005
ข้อผิดพลาดในการกำหนดค่าไม่สามารถอ่านแฟ้มการกำหนดค่าเนื่องจากสิทธิ์ไม่เพียงพอ
Config ไฟล์ \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config

ฉันค้นหาวิธีแก้ไขข้อผิดพลาดนี้หลายครั้ง แต่ไม่มีวิธีแก้ไขข้อผิดพลาด

ฉันมีปัญหากับIUSRบัญชีของฉัน ฉันไม่สามารถเห็นบัญชีนี้ใน "กลุ่มหรือผู้ใช้ชื่อ" web.configในคุณสมบัติของ

อะไรคือปัญหา?


3
ฉันมีปัญหานี้หลังจากคืนค่าการเปลี่ยนแปลงบางอย่างผ่านการโค่นล้ม (แม้ว่ามันอาจเป็นเรื่องบังเอิญ) ผมสังเกตเห็นว่าWeb.configACL ของไฟล์ที่แตกต่างกันไปยังไฟล์อื่นในไดเรกทอรีและมันก็ไม่ใช่การสืบทอดจากผู้ปกครอง ฉันเปิดใช้งานการสืบทอด ACL และทุกอย่างกลับเป็นปกติ
ta.speot.is

1
ทางออกของฉันแตกต่างกันเล็กน้อย ในเครื่อง Windows Server 2008 บางเครื่องคุณต้องให้สิทธิ์การเข้าถึงกลุ่ม "IIS_IUSRS" ไม่ใช่ผู้ใช้ "IUSR" - ภายในสิทธิ์ความปลอดภัยของโฟลเดอร์ไซต์ ตรวจสอบให้แน่ใจว่าได้ไปที่ตำแหน่งเครื่องของคุณ
MacGyver

7
ฉันมีปัญหานี้ในการย้ายเว็บไซต์ไปยังเซิร์ฟเวอร์ที่ไม่ได้ติดตั้งโมดูล IIS Url Rewrite
ScottE

1
สิ่งนี้อาจเกิดขึ้นได้หากคุณเปลี่ยนชื่อเซิร์ฟเวอร์ ฉันทำสิ่งนี้กับตัวเอง - และในที่สุดก็ต้องเข้าไป (Windows Server 2012 R2) และเพิ่ม IIS APPPOOL \ SiteName ... อีกครั้งและนั่น 100% แก้ไขสิ่งนี้
Michael K. Campbell

2
หากคุณยังใหม่กับการปรับใช้แอพ ASP.NET Core บนเซิร์ฟเวอร์ 2008 R2 รุ่นเก่าของคุณคุณต้องติดตั้ง. NET Core Windows Server Hosting bundle - ดังที่ฉันได้เรียนรู้จากคำตอบนี้
bkwdesign

คำตอบ:


178

ข้อความแจ้งว่าไฟล์การกำหนดค่าของคุณเสียหายในบางวิธี อย่างไรก็ตามมันก็บอกว่ามันไม่สามารถเข้าถึงไฟล์ปรับแต่งได้ ดังนั้นฉันจึงไม่สนใจข้อความต้นฉบับเกี่ยวกับความเสียหาย / การขาดความถูกต้องเนื่องจากเป็นไปได้มากที่สุดที่ผลกระทบของการไม่สามารถอ่านไฟล์ได้เนื่องจากขาดการอนุญาต

เหตุผลที่ไม่สามารถอ่านไฟล์กำหนดค่าได้เนื่องจากกระบวนการที่เรียกใช้แอปพลิเคชันเว็บของคุณไม่มีสิทธิ์ในการเข้าถึงไฟล์ / ไดเรกทอรี ดังนั้นคุณต้องให้กระบวนการเรียกใช้แอปพลิเคชันเว็บของคุณ

สิทธิ์การเข้าถึงควรตรงไปตรงมาพอสมควรเช่นอย่างน้อยอ่านแล้วและอาจเขียนได้ทั้งนี้ขึ้นอยู่กับแอพของคุณ

ข้างต้นคุณพูดถึงIUSRฯลฯ web.configไม่ได้อยู่ในคุณสมบัติของ หากคุณหมายความว่าIUSRไม่ได้อยู่ในรายการแท็บความปลอดภัยของไฟล์แสดงว่าเป็นสิ่งที่ดี หนึ่งไม่ต้องการที่จะให้IUSRชนิดของการได้รับอนุญาตใด ๆ ที่จะweb.config บทบาทIUSRเป็นผู้ใช้อินเทอร์เน็ตที่ไม่ระบุชื่อ

ไฟล์web.configควรเท่านั้นสามารถเข้าถึงได้ผ่านแอพลิเคชันของคุณ

ปัญหาคือคุณยังไม่ได้บอกว่าคุณใช้ระบบปฏิบัติการเวอร์ชั่นใดและเป็น IIS ใดจึงเป็นการยากที่จะแนะนำขั้นตอนที่ต้องปฏิบัติ

เช่นใน IIS 7.5 ข้อผิดพลาดที่คุณอ้างถึงมีแนวโน้มที่จะเกิดขึ้นเนื่องจากApplicationPoolIdentityของคุณไม่ได้รับการอนุญาต แอปพลิเคชันเว็บของคุณเป็นของกลุ่มแอปพลิเคชันและคุณต้องให้สิทธิ์กับบัญชีระบบปฏิบัติการที่กลุ่มแอปพลิเคชันเว็บของคุณทำงาน บ่อยครั้งที่นี่เป็นสิ่งที่ต้องการNetworkServiceแต่คุณอาจกำหนดให้ทำงานภายใต้บัญชีที่มีวัตถุประสงค์ หากไม่มีข้อมูลเพิ่มเติมจะช่วยคุณได้ยาก


3
ฉันให้สิทธิ์นี้โดยทางโปรแกรมหรือไม่ กรุณาช่วย. ฉันมีปัญหาเดียวกัน
pcbabu

1
ขอบคุณสิ่งนี้ช่วยแก้ไขปัญหาของฉันเช่นกัน ฉันใช้การแอบอ้างบุคคลอื่นซึ่งเห็นได้ชัดว่าจำเป็นต้องกำหนดสิทธิ์ READ ให้กับไดเรกทอรีของแอปพลิเคชันสำหรับบัญชีที่แอบอ้างบุคคลอื่น
Cesar

2
ฉันได้รับ "ไม่สามารถระบุวัตถุในคอนเทนเนอร์การเข้าถึงถูกปฏิเสธ" หลังจากฉันให้สิทธิ์
RollRoll

4
คลิกขวาที่โฟลเดอร์ที่คุณต้องให้สิทธิ์ด้านความปลอดภัย นี่คือโฟลเดอร์รูทที่คุณเผยแพร่แอปพลิเคชันและเป็นโฟลเดอร์เดียวกับเส้นทางฟิสิคัลเว็บไซต์ IIS ของคุณ เลือกคุณสมบัติจากเมนูบริบทและคลิกที่แท็บความปลอดภัย แก้ไขผู้ใช้แล้วเพิ่มผู้ใช้ คลิกปุ่มตำแหน่งและเลือกไอคอนด้านบน (ดูเหมือนคอมพิวเตอร์ของฉัน) ในพื้นที่ข้อความให้ป้อน IIS_IUSRS กดตกลงซ้ำ ๆ จนกว่าเมนูบริบททั้งหมดจะปิด รีสตาร์ทเว็บไซต์ของคุณและนำทางไปอีกครั้ง
Jeremy Ray Brown Brown

หากคุณไม่ต้องการที่จะคิดออกสิทธิ์บนเส้นทางกายภาพสำหรับเว็บไซต์แล้วให้สิทธิ์กับทุกคน! นั่นเป็นการแฮ็กที่รวดเร็วและไม่แนะนำสำหรับการเข้าถึงไฟล์ / โฟลเดอร์ทั้งหมด
Jeremy Ray Brown Brown

662

สิ่งนี้อาจเกิดขึ้นได้หากไซต์ถูกกำหนดค่าให้ใช้โมดูล IIS URL Rewriteแต่ไม่ได้ติดตั้ง


นี่คือมันสำหรับฉัน .. ลบส่วนการเขียนใหม่ (ซึ่งไม่ต้องการจริงๆ แต่อย่างใด) และทั้งหมดเป็นสิ่งที่ดี
Andrew Patterson

129
เล่นดี. <rant> มันคงจะดีถ้า IIS จะโยนข้อผิดพลาด "ฉันไม่เข้าใจว่า <rewrite> คืออะไร" แทนที่จะบ่นเกี่ยวกับ XML ที่มีรูปแบบไม่ถูกต้อง </rant>
Evan Haas

7
ขอบคุณมาก - นั่นเป็นปัญหาของฉันด้วย มีการใช้งานโมดูลการเขียนซ้ำหากคุณเห็นแท็ก <rewrite> มีใครคิดว่า IIS สามารถบอกคุณได้ว่าอะไรที่ไม่สามารถแยกวิเคราะห์ได้
scolestock

6
วิธีง่ายๆในการแก้ไขการพึ่งพาที่ขาดหายไปในบรรทัดคำสั่ง webpicmd / ติดตั้ง / ผลิตภัณฑ์: UrlRewrite2
cirrus

2
ฉันแค่ต้องการที่จะทราบว่าถ้า web.config ของคุณมีแท็ก <rewrite> แล้วคุณต้องโมดูลเขียนใหม่
Jono

436

ในที่สุดฉันก็ได้คำตอบสำหรับปัญหาของฉัน บัญชี ASP.net ไม่ปรากฏในตัวจัดการ IIS เนื่องจากฉันไม่ได้ทำเครื่องหมายในกล่องกาเครื่องหมายของ IIS เมื่อต้องการทำสิ่งนี้ใน Windows 7 ให้ทำตามขั้นตอน:

  1. เปิดแผงควบคุม
  2. คลิกที่ลิงค์“ โปรแกรม” (ไม่ถอนการติดตั้งโปรแกรม)
  3. คลิกลิงก์“ เปิด / ปิดคุณสมบัติของ windows”
  4. ค้นหา“ Internet Information services IIS” ในหน้าต่างป๊อปอัปและขยายโหนด
  5. ขยายโหนด“ World Wide Web Service”
  6. ขยายโหนด“ คุณสมบัติการพัฒนาแอปพลิเคชัน”
  7. ทำเครื่องหมายที่ช่อง“ ASP.NET”
  8. จากนั้นคลิกปุ่มตกลง

ตอนนี้คุณจะเห็นบัญชี ASP.net ในตัวจัดการ IIS และโดยค่าเริ่มต้นคุณจะเห็นบัญชี IIS ตอนนี้คุณควรย้ายเว็บไซต์ ASP.net ของคุณจาก“ เอกสารของฉัน” ไปยังที่อื่นที่ IIS ได้รับอนุญาตให้เข้าถึง (เช่นไปยังพาร์ติชันอื่นบนคอมพิวเตอร์ของคุณ) ตอนนี้เรียกดูเว็บไซต์ของคุณจากตัวจัดการ IIS และควรใช้งานได้

ขอบคุณมากสำหรับ Jeff Turner สำหรับวิธีแก้ปัญหา


บางคนต้องลบบริการบทบาทนี้ออกจากเซิร์ฟเวอร์ที่ทำงานมาหลายเดือนแล้ว ฉันไม่เคยคิดเลยว่าจะตรวจสอบอีกครั้งว่า ฮึ.
SixOThree

ง่ายยิ่งขึ้นโดยใช้บรรทัดคำสั่ง:dism /NoRestart /Online /Enable-Feature /FeatureName:IIS-ASPNET
i3arnon

1
ขอบคุณ ... พวกเขาจะปล่อยผลิตภัณฑ์ที่มีข้อความแสดงข้อผิดพลาดระดับต่ำได้อย่างไร
Vland

ส่วน <handler> ของฉันมีการอ้างอิงถึง WebDAV และเมื่อฉันเพิ่มคุณสมบัติ WebDAV ไปยัง IIS ก็ใช้งานได้
Andy Roberts

55

ในกรณีของฉันติดตั้งโมดูล IIS URL Rewrite แก้ปัญหาได้


นี่คือฉันเตือนตัวเองในครั้งต่อไปว่านี่คือสิ่งที่แก้ไขได้สำหรับฉัน เป็นข้อผิดพลาดที่น่ากลัวมาก: - /
Simon_Weaver

นี่เป็นเช่นเดียวกับคำตอบที่ได้รับการโหวตสูงสุด
ไมเคิล - Clay Shirky

47

ฉันมีปัญหาเดียวกันนี่คือวิธีแก้ปัญหาที่เหมาะกับฉัน

  1. ตัวจัดการ IIS
  2. คลิกขวาที่เว็บไซต์นั้น
  3. แก้ไขการอนุญาต
  4. เพิ่มผู้ใช้ 'IIS_IUSRS' จากแท็บความปลอดภัย
  5. ให้สิทธิ์อย่างเต็มที่แก่ผู้ใช้ 'IIS_IUSRS'
  6. ตั้งค่า Identity's Application Pool เป็น 'ApplicationPoolIdentity'

2
ฉันจะไม่แนะนำสิ่งนี้เพื่อการผลิต ฉันเชื่อว่า IIS_IUSRS เป็นบัญชีที่ไม่ระบุตัวตนและคุณจะให้สิทธิ์การเข้าถึงโครงสร้างไดเรกทอรีทั้งหมดของเว็บไซต์อย่างเต็มรูปแบบ
Jacques

บันทึกวันของฉันด้วยเช่นกันเมื่อฉันคิดว่าการอนุญาตเป็นผู้ร้ายฉันก็ใช้ข้อมูลประจำตัวของ apppool ตัวอื่นแล้วมันก็ใช้ได้!
ใกล้

39

สำหรับนักพัฒนา Visual Studio (VS): ตามที่บอกไว้โดย Harvey Darvey, Savage และ Snives การกำหนดค่าโฮสต์แอปพลิเคชันของคุณอาจชี้ไปยังเส้นทางทางกายภาพของแอปพลิเคชันที่ไม่ถูกต้อง ค้นหาVirtualDirectoryภายใน/.vs/config/applicationhost.configเพื่อเปลี่ยนphysicalPathถ้ามันไม่ถูกต้อง

ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบให้แน่ใจว่าphysicalPathนั้นถูกต้อง:

ป้อนคำอธิบายรูปภาพที่นี่


3
คุณยังสามารถทำสิ่งเดียวกันนี้ใน project => properties => project url => สร้างไดเรกทอรีเสมือนเลือกใช่เพื่อทำการแมปไปยังเส้นทางกายภาพที่ถูกต้องเมื่อได้รับแจ้ง
Adam Diament

ในกรณีของผมมันแตกต่างกันเล็กน้อย แต่มันทำให้ทิศทางของฉันขอบคุณมากมันช่วยให้ฉันมาก :)
Bharat

24

การแจ้งเตือน Facepalm:

คุณจะได้รับข้อผิดพลาดนี้หากเส้นทางไปยังไฟล์กำหนดค่าไม่ถูกต้อง ตรวจสอบอีกครั้งเพื่อให้แน่ใจว่าใส่ฟิสิคัลพา ธ ใน IIS อย่างถูกต้อง


ในฐานะที่เป็นตัวแปรนี้ปรากฎว่าฉันกำหนดเส้นทางไม่ถูกต้องไปยังเว็บไซต์ของตัวเอง ฉันบังเอิญไปที่การแชร์เครือข่ายที่แมปแทนเส้นทางไฟล์ในระบบ
David

2
มีช่วงเวลาที่ฝ่ามือเดียวกัน ฉันย้ายเว็บไซต์ของฉันไปที่โฟลเดอร์ย่อยและคิดว่าฉันพิมพ์เส้นทางใหม่เข้าไปใน IIS อย่างถูกต้อง ไซต์ยังคงปรากฏว่ามีโฟลเดอร์ที่จำเป็นทั้งหมดอยู่ด้านล่างซึ่งแสดงอยู่ในแผนผังใน IIS ดังนั้นจึงไม่ได้เรียกสิ่งนี้ว่าเป็นสาเหตุ ฉันรีเซ็ตการอนุญาต ฯลฯ ไม่สามารถแก้ไขได้ จากนั้นพูดถึงปัญหามันแนะนำให้ฉันในการผ่าน ... และตอนนี้ฉันมีเว็บไซต์ทำงานอีกครั้งหลังจาก 1 ชั่วโมงเสียเวลา!
ladygargar

เส้นทางนี้ตั้งอยู่ที่ไหน? นี่ดูเหมือนจะเป็นปัญหาของฉัน แต่ฉันไม่สามารถค้นหาสิ่งที่ฉันต้องการเปลี่ยนได้
Drew Rochon

ในสภาพแวดล้อมการพัฒนา: .vs> config> applicationhost.config นี่คือสิ่งที่จะเกิดขึ้นเมื่อคุณไม่มี GIT ที่ไม่สนใจไฟล์และผู้พัฒนาเริ่มทำการตรวจสอบไฟล์
Savage

ฉันมีเครื่องหมายทับ "\" พิเศษในเส้นทางกายภาพของฉัน - ขอบคุณสำหรับสิ่งนี้
J King

18

คุณต้องกำหนดสิทธิ์สำหรับ IIS_IUSRS บนเครื่องท้องถิ่น (แต่คุณไม่จำเป็นต้องกำหนดให้กับ IUSR อันที่จริงแล้วมันจะทำงานแม้ว่าคุณจะปฏิเสธการอนุญาตอย่างชัดเจน)

ในการกำหนดสิทธิ์ให้คลิกขวาที่โฟลเดอร์และบนแท็บความปลอดภัยตรวจสอบให้แน่ใจว่าได้รับสิทธิ์ที่ถูกต้องและหากผู้ใช้ไม่อยู่ในรายการให้คลิก "เพิ่ม" และป้อน IIS_IUSRS (และตรวจสอบให้แน่ใจว่าภายใต้ คอมพิวเตอร์ถูกเลือกหรือป้อนในฟิลด์ชื่อYourLocalComputerName \ IIS_IUSRS) แล้วคุณก็พร้อมที่จะไป

หากคุณต้องการคุณสามารถกำหนดสิทธิ์ให้กับกลุ่ม IIS_IUSRS แทนคุณสามารถมอบหมายให้กลุ่มแอพซึ่งโดยทั่วไปควรเป็น "IIS APPPOOL \ app pool name "


จากเว็บไซต์ต่อไปนี้: iis.net/learn/get-started/planning-for-security/… กลุ่ม IIS_IUSRS จะแทนที่กลุ่ม IIS_WPG กลุ่มในตัวนี้สามารถเข้าถึงไฟล์และทรัพยากรระบบที่จำเป็นทั้งหมดเพื่อให้บัญชีเมื่อเพิ่มลงในกลุ่มนี้สามารถทำหน้าที่เป็นตัวตนของกลุ่มแอปพลิเคชันได้อย่างราบรื่น
Jeremy Ray Brown Brown

ยังคงได้รับการเข้าถึงถูกปฏิเสธ
GreySage

15

เพียงเพื่อชิปฉันได้รับข้อผิดพลาดชนิดเดียวกันและปัญหาของฉันค่อนข้างง่าย: ฉันขาด. NET Core Hosting Bundle เมื่อฉันติดตั้งเครื่องมือและรีสตาร์ทเซิร์ฟเวอร์มันก็ใช้ได้

คุณสามารถค้นหาคู่มือการโฮสต์ asp.net core ได้ที่ windows: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2


เพียงแค่ติดตั้ง. NET Core SDK ไม่เพียงพอที่จะเรียกใช้เว็บไซต์ ASP.NET Core ของคุณภายใต้ IIS ผมใช้เวลาหลายชั่วโมงในการทำงานผ่านข้อผิดพลาดนี้ ...
ไรอัน Rodemoyer

อาจไม่เพียงพอ แต่จะแก้ไขข้อผิดพลาดนี้ ทำงานให้ฉัน ฉันสันนิษฐานว่าองค์ประกอบ NET ทั้งหมดรวมอยู่แล้ว
pcalkins

ใช่ต้องติดตั้ง "Runtime & Hosting Bundle" ที่นี่: dotnet.microsoft.com/download/dotnet-core/2.2
Kirk Woll

ตกลงแพคเกจ "มีอยู่ในตัวเอง" ไม่ได้ขึ้นอยู่กับชื่อของมัน
SLCH000

11

สิ่งเดียวกันเกิดขึ้นกับฉันลองตรวจสอบสิ่งนี้โดยดับเบิลคลิกที่สตริงการเชื่อมต่อที่บานหน้าต่างด้านขวาของ IIS 7 เมื่อคุณเลือกเว็บไซต์

มันจะทำให้คุณมีข้อผิดพลาด (ที่มีปัญหาบางอย่างกับไฟล์เว็บ config) เพราะคุณได้ใช้กฎการเขียน URL ใหม่และส่วนประกอบที่เกี่ยวข้องไม่ได้ติดตั้ง

ติดตั้ง“ Microsoft URL Rewrite Module 2.0 สำหรับ IIS 7” และสิ่งนี้จะแก้ไขปัญหาของคุณ


9

ไม่มีอะไรที่นี่ทำงานได้สำหรับฉันฉันพบคำสั่งนี้ในคำตอบ SO อื่นและมันแก้ปัญหา เพียงเริ่มพรอมต์คำสั่งในฐานะผู้ดูแลระบบและรันคำสั่งนี้

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"

เครดิต: User Vicxx


เพื่อแก้ไขสภาพแวดล้อมการพัฒนา vs 2017 ของฉันฉันต้องลบ IIS ออกจากฟีเจอร์ windows 7 ของฉัน เพิ่มกลับอัปเดตและติดตั้งทุกสิ่งตามต้องการ ขั้นตอนสุดท้ายคือการเรียกใช้ regiis จากด้วยพรอมต์คำสั่ง visual Studio 2017 ตอนนี้มันใช้งานได้อีกครั้งใช้เวลา 8 ชั่วโมงในการแก้ไขปัญหานี้ uck ..
Warren LaFrance

7

ฉันทำตามขั้นตอนเหล่านี้เพื่อแก้ไขปัญหานี้ใน Windows Server 2012, IIS 8.5 ควรทำงานกับเวอร์ชันอื่นด้วย

  1. ไปที่ผู้จัดการเซิร์ฟเวอร์คลิกเพิ่มบทบาทและคุณสมบัติ
  2. ในส่วนบทบาทให้เลือก: Web Server
  3. ในส่วนย่อยความปลอดภัยเลือกทุกอย่าง (ฉันแยกส่วนย่อย, ข้อ จำกัด IP และการอนุญาต URL เนื่องจากเราไม่ได้ใช้)
  4. ภายใต้การพัฒนา Application เลือก.NET Extensibility 4.5, ASP.NET 4.5และทั้งสองISAPIรายการ
  5. ในส่วนคุณสมบัติเลือก: NET 3.5, .NET 4.5,ASP.NET 4.5
  6. ในส่วนเว็บเซิร์ฟเวอร์ให้เลือก: Web Server(ทั้งหมด), Management Tools(IIS Management Console และ Management Service), Windows

6

ความเป็นไปได้อีกอย่างหนึ่งที่แก้ไขปัญหานี้ให้ฉันได้:

IIS -> แก้ไขการอนุญาต -> แท็บความปลอดภัย -> ให้สิทธิ์ที่เหมาะสม "ผู้ใช้" (หรือ IIS_IUSRS ขึ้นอยู่กับการตั้งค่าของคุณ)


6

Ehm ฉันย้ายไซต์ / ไฟล์ไปยังโฟลเดอร์อื่น โดยไม่ต้องเปลี่ยนเส้นทางในเว็บไซต์ IIS

คุณทุกคนอาจหัวเราะตอนนี้


6

ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าพูลโปรแกรมประยุกต์เป็นเวอร์ชันที่ถูกต้องของเฟรมเวิร์ก คุณจะต้องตรวจสอบให้แน่ใจว่าผู้ใช้ aspnet, IIS_IUSRS หรือ IUSR ของคุณมีสิทธิ์เข้าถึงเพื่ออ่านไดเรกทอรีของแอปพลิเคชัน


ฉันจะทำสิ่งนี้ได้อย่างไร? "ตรวจสอบให้แน่ใจว่าผู้ใช้ aspnet หรือ IUSR ของคุณมีสิทธิ์เข้าถึงเพื่ออ่านไดเรกทอรีของแอปพลิเคชัน"
Yasmeen

5
ไปที่ C: \ Users \ Yasso \ Documents \ Visual Studio 2008 \ WebSites \ WebSite5 \ และตรวจสอบให้แน่ใจว่าไดเรกทอรี WebSite5 ได้อ่านสิทธิ์สำหรับกลุ่ม IUSR และ IIS_IUSRS คุณทำได้โดยคลิกขวาที่ไดเรกทอรีและเลือกคุณสมบัติจากนั้นไปที่แท็บความปลอดภัย
Jeff Turner

แต่ฉันไม่เห็นกลุ่ม IUSR และ IIS_IUSRS ในกลุ่มหรือชื่อผู้ใช้ !! ฉันไม่รู้ว่าปัญหาคืออะไร ??
Yasmeen

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

1
เมื่อคุณไปที่แท็บความปลอดภัยหลังจากคุณคลิกขวาที่โฟลเดอร์และคุณสมบัติที่เลือก คลิกปุ่ม "เพิ่ม" ซึ่งจะวางไข่ในหน้าต่างอื่นด้วยปุ่ม "แก้ไข" คลิกที่ปุ่ม "แก้ไข" และพิมพ์ "บริการเครือข่าย" ลงในช่องข้อความควรค้นหาผู้ใช้และเพิ่มลงในรายการ จากนั้นตรวจสอบให้แน่ใจว่าผู้ใช้มีสิทธิ์อ่านอย่างน้อยที่สุด
Jeff Turner


4

สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันมีเอกสารเริ่มต้นที่มีชื่อเดียวกัน (เช่น index.aspx) ที่ระบุในไฟล์ web.config และเว็บไซต์ IIS ของฉัน ฉันสิ้นสุดการลบรายการจากเว็บไซต์ IIS และเก็บรายการ web.config เช่นด้านล่าง:

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...

4

บางครั้งข้อความนี้อาจเป็นส่วนประกอบที่ขาดหายไปในสภาพแวดล้อม IIS ของคุณเช่นเฟรมเวิร์กเฉพาะหรือคุณสมบัติ IIS เช่นการบีบอัดแบบไดนามิกแทนที่จะได้รับอนุญาตจาก web.config

หากเป็นกรณีนี้วิธีแก้ปัญหาคือสามารถติดตั้งและใช้ Microsoft Platform Installer และติดตั้งส่วนประกอบที่ขาดหายไป - คุณอาจต้องแทงสิ่งที่ขาดหายไปอย่างแน่นอนเพราะบันทึกข้อผิดพลาดและข้อความไม่ได้บอกคุณ


หมายเหตุ: การบีบอัดแบบไดนามิกอยู่ในรายการ 'คุณสมบัติของ windows' ไม่ใช่ MPI
Simon_Weaver

@Simon_Weaver ที่จริงแล้วการบีบอัดข้อมูลแบบไดนามิกนั้นอยู่ในรายการของ MPI ที่จะติดตั้งให้กับคุณและเริ่มใช้งานมาตั้งแต่ปี 2012 หรือก่อนหน้านี้ ไชโย
eagle779

4

ลองติดตั้งคอมโพเนนต์ย่อย 'การพัฒนาแอปพลิเคชัน' ของ IIS ตามที่ระบุไว้ในSOนี้

  • คลิก "ปุ่ม Start" ในช่องค้นหาใส่ "เปิดหรือปิดคุณสมบัติหน้าต่าง"
  • ในหน้าต่างคุณสมบัติคลิก: "Internet Information Services"
  • คลิก: "บริการเวิลด์ไวด์เว็บ"
  • คลิก: "คุณสมบัติการพัฒนาแอปพลิเคชัน"
  • ตรวจสอบ (เปิดใช้งาน) คุณสมบัติ ฉันตรวจสอบทั้งหมดยกเว้น CGI

ป้อนคำอธิบายรูปภาพที่นี่


3

คุณต้องตั้งค่าการอนุญาตสำหรับโฟลเดอร์เว็บไซต์ของคุณหรือคัดลอกไปยังโฟลเดอร์ wwwroot :) - หากตั้งค่าการอนุญาตมี 2 ทาง: + คลิกขวาที่โฟลเดอร์เว็บไซต์ของคุณ + หรือคลิกขวาที่เว็บไซต์ของคุณใน IIS => เลือกแก้ไขการอนุญาตและเพิ่ม การอนุญาต (IUSR - ผู้ใช้ iis เริ่มต้น) ขอให้โชคดี ;-)


ในกรณีของฉัน - iis 8 เป็นผู้ใช้ที่ได้รับการรับรองความถูกต้อง
การปลูกถ่าย

3

ในกรณีของฉันมันเกิดจากเส้นทางกายภาพของแอปพลิเคชันชี้ไปที่โฟลเดอร์ที่ไม่มีอยู่ใน IIS

ภาพหน้าจอการตั้งค่าแอปพลิเคชัน


3

ฉันมีปัญหาเมื่อฉันคัดลอกไฟล์ web.config ของฉันลงมาจาก Prod, เปลี่ยนแปลงทุกอย่างที่ไม่เกี่ยวข้องกับการผลิตยกเว้นกฎการเขียนซ้ำซึ่งเขียนใหม่เป็น http S S

นำกฎเหล่านั้นออกและทำงานได้ดี


2

ตรงไปตรงมา IIS ไม่สามารถเข้าถึงเว็บของคุณได้ ฉันจะเริ่มต้นด้วยการนำไซต์ออกจากโฟลเดอร์เอกสารของคุณ ตรวจสอบว่ามีสิทธิ์ r / w แล้วเช่นกัน


ฉันย้ายไซต์จากเอกสารไปที่อื่น แต่เกิดข้อผิดพลาดเดียวกัน
Yasmeen

2

ฉันก็มีปัญหาที่คล้ายกันและฉันแก้ไขโดยการแสดงความคิดเห็นบางส่วนในไฟล์ web.config

โครงการถูกสร้างและปรับใช้ก่อนหน้านี้ใน. Net 2.0 หลังจากย้ายไปยัง. Net 3.5 แล้วมันเริ่มส่งข้อยกเว้น

มติ:

หากไฟล์การกำหนดค่าของคุณมี "< sectionGroup name =" system.web.extensions > "แสดงความคิดเห็นและเรียกใช้เนื่องจากส่วนนี้มีอยู่แล้วภายใต้ Machine.config


2

คุณสามารถรับข้อผิดพลาดนี้หากคุณมีข้อผิดพลาดหรือปัญหา synax ในไฟล์ web.config ของคุณ

สำหรับฉันมันเป็นampersandหลงทางใน URLที่ฉันใช้ใน AppSettings


ฉันยังมีนี้กับรหัสผ่านในสตริงการเชื่อมต่อที่มี& - การเข้ารหัสมัน & amp; พาฉันผ่านปัญหานี้มาได้ ขอบคุณนี่เป็นคำตอบเดียวที่นี่ไม่เกี่ยวกับการอนุญาต
Jeremy Thompson

2

ในหน้าข้อผิดพลาด IIS 7.5 คุณจะได้รับคลิก 'ดูข้อมูลเพิ่มเติม' ที่ด้านล่างของหน้าและในกรณีนี้มันจะพาคุณไปยังลิงก์ Microsoft ต่อไปนี้:

http://support.microsoft.com/kb/942055

The 0x80070005 รหัสข้อผิดพลาดน่าจะเป็นสิทธิ์ที่เกี่ยวข้องและทำตามขั้นตอนในการแก้ปัญหา 2 วิธีที่ 2 การกำหนดบัญชีที่ถูกต้องพร้อมสิทธิ์ในโฟลเดอร์ที่เกี่ยวข้องควรแก้ไข - ฉันใช้เวลา 3 วันหาวิธีแก้ปัญหาจนกว่าฉันจะเจอมันทำงานทันที


2

มีปัญหากับไดรฟ์ที่แมป IIS ไม่ทำงานกับไดรฟ์ที่แมป เพียงใช้ไดรฟ์ที่ไม่ได้แมป


2

สำรวจโฟลเดอร์ที่เว็บไซต์ของคุณจัดเก็บและดูว่าคุณจะได้รับหนึ่งโฟลเดอร์พิเศษ "aspnet_client" ลบโฟลเดอร์นั้นและมันจะทำงานให้คุณ

ฉันลองทำเช่นนี้ปัญหาของฉันจะได้รับการแก้ไข

ถ้ามันเหมาะกับคุณโปรดตอบด้วยเพื่อที่ร่างกายจะได้รับการแก้ไข


1

สิ่งนี้ไม่ได้ผลสำหรับฉัน แต่ในที่สุดฉันก็มีวิธีแก้ปัญหาที่เหมาะกับฉัน:

ลบบรรทัดนี้ใน web.config:

<compilation debug="true" targetFramework="4.5"/>

อย่าลบบรรทัดนี้

<compilation debug="true"/>

1

เพิ่มบัญชีท้องถิ่น IIS_IUSRS เพื่อความปลอดภัยและยิ่งใหญ่พวกเขาอ่าน / ดำเนินการเข้าถึง ที่ทำงานในกรณีของฉัน

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