Score:1

ฉันจะหาสาเหตุของข้อผิดพลาด 403.18 ใน IIS ได้อย่างไร

ธง in

ฉันได้ติดตั้งแอปพลิเคชันใหม่ภายใต้ IIS แอพใหม่มีกลุ่มแอพพลิเคชั่นเฉพาะเช่นเดียวกับแอพพลิเคชั่นอื่น ๆ ที่ติดตั้งบนเซิร์ฟเวอร์เดียวกัน มีเว็บไซต์หลักซึ่งมีกลุ่มแอพเฉพาะของตัวเองด้วย แอปพลิเคชันที่ปรับใช้ก่อนหน้านี้ทั้งหมดทำงานได้ดีภายใต้การกำหนดค่านี้ แต่แอปพลิเคชันใหม่ล่าสุดทำให้เกิดข้อผิดพลาด 403.18 เมื่อฉันพยายามเรียกดู

หากฉันเรียกดูจากเซสชัน RDP บนเซิร์ฟเวอร์ ฉันจะได้รับหน้าข้อผิดพลาดโดยละเอียดซึ่งรวมถึงข้อมูลนี้:

ข้อผิดพลาด HTTP 403.18 - ถูกห้าม

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

สาเหตุที่เป็นไปได้มากที่สุด:

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

สิ่งที่คุณสามารถลอง:

  • หากคุณมีแอปพลิเคชันที่พยายามประมวลผล URL ในกลุ่มแอปพลิเคชันอื่น (เช่น พยายามประมวลผลข้อผิดพลาดที่กำหนดเอง) ตรวจสอบให้แน่ใจว่าทั้งสอง - ทำงานในพูลแอปพลิเคชันเดียวกันหาก เหมาะสม.
  • หากคุณพยายามประมวลผล URL ข้อผิดพลาดที่กำหนดเองซึ่งอยู่ในกลุ่มแอปพลิเคชันอื่น ให้เปิดใช้งานคุณลักษณะการเปลี่ยนเส้นทางข้อผิดพลาดที่กำหนดเอง
  • ตรวจสอบว่ากลุ่มแอปพลิเคชันสำหรับแอปพลิเคชันนั้นมีอยู่
  • สร้างกฎการติดตามเพื่อติดตามคำขอที่ล้มเหลวสำหรับรหัสสถานะ HTTP นี้ และดูว่ามีการเรียกใช้ ExecuteURL หรือไม่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ สร้างกฎการติดตามสำหรับคำขอที่ล้มเหลว คลิกที่นี่

ฉันเรียกใช้การติดตามคำขอที่ล้มเหลว แต่โดยพื้นฐานแล้ว การติดตามซ้ำกับข้อมูลเดิม และดูเหมือนจะไม่ได้ให้ข้อมูลเชิงลึกใดๆ ฉันยอมรับว่าฉันไม่เข้าใจทุกอย่างในไฟล์การติดตามนั้น

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

สิ่งที่แปลกคือแอปพลิเคชั่นอื่น ๆ บนเซิร์ฟเวอร์นี้ทำงานได้ดี ความแตกต่างใหญ่ของแอปพลิเคชันใหม่คือใช้การรับรองความถูกต้องของ .NET 5 และ Azure ADส่วนรุ่นอื่นๆ ใช้การรับรองความถูกต้องของ .NET Core หรือ .NET Framework และ Windows รุ่นก่อนหน้า ฉันตรวจสอบแล้วว่าได้ติดตั้ง .NET 5 Hosting Bundle แล้ว

ฉันลองทำตามรายการ "สิ่งที่คุณลองได้" ในหน้าข้อผิดพลาดแล้ว แต่ดูเหมือนจะใช้ไม่ได้

มีขั้นตอนอื่นใดที่ฉันสามารถลองหรือเบาะแสที่อาจช่วยฉันค้นหาสาเหตุที่แท้จริงได้หรือไม่ ฉันยินดีที่จะให้รายละเอียดเพิ่มเติม แต่ฉันยังไม่แน่ใจว่ารายละเอียดใดที่เกี่ยวข้อง

Score:0
ธง in

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

เวอร์ชันล่าสุดถูกนำไปใช้เป็นแอปพลิเคชัน มีบางรายการที่ล้าสมัยสำหรับชื่อแอปพลิเคชันในไฟล์ applicationHost.config

สิ่งที่มอบให้คือฉันพยายามปรับใช้แอปภายใต้ชื่อใหม่ที่ใช้งานได้ มันดูแปลก ดังนั้นฉันจึงเปรียบเทียบ applicationHost.config ระหว่างเซิร์ฟเวอร์ที่แอปทำให้เกิด 403.18 และเซิร์ฟเวอร์ dev ที่ทำงานตกลง

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

ดังนั้นการตรวจสอบรายการที่ไม่ถูกต้องใน applicationHost.config จึงเป็นขั้นตอนการแก้ปัญหาอย่างน้อยหนึ่งขั้นตอนที่สามารถทำได้เพื่อแก้ปัญหา 403.18

โพสต์คำตอบ

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