วิธีแก้ไขปัญหาข้อความแสดงข้อผิดพลาด "HTTP 500 - Internal Server Error" บน IIS 4.0 หรือ IIS 5.0 โดยผู้ดูแลระบบเว็บไซต์

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 311766 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขอแนะนำให้ผู้ใช้ทั้งหมดปรับรุ่นเป็น Microsoft Internet Information Services (IIS) เวอร์ชั่น 7.0 ที่ทำงานบน Microsoft Windows Server 2008 IIS 7.0 เพิ่มความปลอดภัยของโครงสร้างเว็บให้สูงขึ้นอย่างมาก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อความปลอดภัยใน IIS เข้าไปที่เว็บไซต์ Microsoft:
http://technet.microsoft.com/th-th/library/dd450371(WS.10).aspx
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ IIS 7.0 เข้าไปที่เว็บไซต์ Microsoft:
http://www.iis.net/
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

ข้อความแสดงข้อผิดพลาดต่อไปนี้ระบุปัญหาที่เกิดขึ้นบนเว็บเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์โดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้ปรากฏขึ้น:
HTTP 500 - Internal Server Error
บทความนี้อธิบายวิธีการแก้ไขปัญหาข้อผิดพลาดนี้ บทความนี้มีไว้สำหรับผู้ดูแลระบบเว็บไซต์ ข้อผิดพลาดเหล่านี้มีหลายสาเหตุและอาจส่งผลกระทบต่อการกำหนดค่าระบบที่แตกต่างกันมากมาย ขั้นตอนที่อธิบายไว้ในบทความนี้ควรดำเนินการโดยผู้ดูแลระบบเซิร์ฟเวอร์

ผู้ใช้ที่ประสบปัญหาข้อผิดพลาดนี้ควรแจ้งปัญหาไปยังผู้ดูแลระบบเว็บไซต์

เมื่อคุณพยายามโหลดแฟ้ม Localstart.asp


เมื่อเอกสารเริ่มต้นเอกสารหนึ่งในเว็บไซต์ Iisstart.asp พยายามโหลดแฟ้ม Localstart.asp และผู้ใช้ที่พยายามเข้าใช้หน้าไม่มีสิทธิ์ที่ถูกต้องในการรันสคริปต์ที่มีในแฟ้ม Localstart.asp คุณจะได้รับข้อความแสดงข้อผิดพลาด HTTP 500 ถ้าคุณล้างกล่องกาเครื่องหมาย แสดงข้อความแสดงข้อผิดพลาด HTTP ที่เข้าใจง่าย คุณจะเห็นข้อมูลที่คล้ายกันกับข้อความแสดงข้อผิดพลาด HTTP 500 ต่อไปนี้:
ชนิดข้อผิดพลาด:
Microsoft VBScript runtime (0x800A0046)
สิทธิ์ถูกปฏิเสธ: 'GetObject'
/localstart.asp, line 19
ปัญหานี้เกิดขึ้นเนื่องจากแฟ้ม Localstart.asp มีรหัส Active Directory Service Interfaces (ADSI) และ Visual Basic Scripting Edition (VBScript) ที่ใช้ IIS Admin Objects ในการเข้าถึง Metabase เพื่อความปลอดภัย การเข้าถึง Metabase ถูกจำกัดเฉพาะผู้ดูแลระบบภายในเท่านั้น ลักษณะการทำงานนี้จะเป็นตามการออกแบบ

เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนต่อไปนี้:
  1. คลิก เริ่ม ชี้ไปที่ โปรแกรม ชี้ไปที่ Administrative Tools แล้วคลิก บริการข้อมูลอินเทอร์เน็ต
  2. ในทรีคอนโซล คลิก เว็บไซต์เริ่มต้น ในบานหน้าต่างแสดงผล คลิกขวา Localstart.asp แล้วคลิก คุณสมบัติ
  3. บนแท็บ ความปลอดภัยของแฟ้ม คลิก แก้ไข ใต้ การเข้าถึงโดยไม่เปิดเผยตัวตนและการควบคุมการตรวจสอบพิสูจน์ตัวตน
  4. ในหน้าคุณสมบัติ วิธีการตรวจสอบพิสูจน์ตัวตน ให้คลิกเพื่อล้างการเข้าถึงโดยไม่เปิดเผยตัวตน

เมื่อคุณเรียกดูหน้า ASP

เมื่อคุณเรียกดูเว็บเพจ Active Server Pages (ASP) คุณได้รับข้อความแสดงข้อผิดพลาด "HTTP 500.100 - Internal Server Error - ASP error" ถ้าคุณล้างกล่องกาเครื่องหมาย แสดงข้อความแสดงข้อผิดพลาด HTTP ที่เข้าใจง่าย คุณจะเห็นข้อมูลที่คล้ายกันกับหัวข้อ "ข้อมูลทางเทคนิค (สำหรับพนักงานสนับสนุน)" ต่อไปนี้:
ชนิดข้อผิดพลาด:
Microsoft VBScript runtime (0x800A01F4)
ตัวแปรไม่ถูกกำหนด: 'x'
/OptionExplicitError.asp, line 9

หน้า:
GET /OptionExplicitError.asp
เพื่อแก้ไขปัญหานี้ ให้ลบคำประกาศ Option Explicit หรือใช้คำสำคัญ DIM เพื่อชี้แจงตัวแปร

ในการสร้างลักษณะการทำงานนี้ซ้ำ ให้เรียกใช้แฟ้ม ASP ที่มีรหัสต่อไปนี้ในไดเรกทอรีเสมือนที่อนุญาตให้ใช้สคริปต์:
<% Option Explicit %>
   <HTML>
   <HEAD>
   <TITLE>500-100 Undeclared Variable</TITLE>
   </HEAD>
   <BODY>
   <P>About to use an undeclared variable</P>
   <% 
     x = 5
   %>
   </B></P>
   </BODY>
   </HTML>
				
ในการแก้ไขปัญหาในตัวอย่างนี้ ให้ใช้คำประกาศ DIM เพื่อชี้แจงตัวแปร X ดังนี้:
<% Option Explicit %>
   <HTML>
   <HEAD>
   <TITLE>500-100 Undeclared Variable</TITLE>
   </HEAD>
   <BODY>
   <P>About to use an undeclared variable</P>
   <% 
     DIM x
     x = 5
   %>
   </B></P>
   </BODY>
   </HTML>
				

เมื่อ IIS 5.0 แสดงข้อความแสดงข้อผิดพลาด Server.GetLastError

เมื่อโปรแกรมประยุกต์เว็บหรือหน้าไม่มีอยู่ IIS จะแสดงข้อความข้อผิดพลาด ส่งผลให้ หน้า ASP ที่ปรับแต่งจะจัดการตอบกลับข้อผิดพลาดสคริปต์ฝั่งเซิร์ฟเวอร์ หน้านี้จะแสดงสถานะ "500 Internal Server Error" ซึ่งทำให้แอพเพล็ตสคริปต์ระยะไกลฝั่งไคลเอนต์ไม่แสดงข้อมูลไปยังอ็อบเจ็กต์สคริปต์ระยะไกล

เมื่อต้องการแก้ไขปัญหานี้ ให้สร้างหน้าข้อผิดพลาดที่กำหนดเองที่แสดงสถานะ "200 OK" แล้วอ้างอิงหน้านี้ในหัวข้อ "ข้อผิดพลาดที่กำหนดเอง" ในหน้าเซิร์ฟเวอร์หรือโปรแกรมประยุกต์สคริป์ระยะไกลของคุณ โดยให้ทำตามขั้นตอนต่อไปนี้

หมายเหตุ: คุณสามารถตั้งค่าหน้าข้อผิดพลาดที่กำหนดเองนี้สำหรับแต่ละหน้า สำหรับโปรแกรมประยุกต์ทั้งหมด หรือสำหรับเว็บไซต์หรือเว็บเซิร์ฟเวอร์ทั้งหมด
  1. สร้างสำเนา %SystemRoot%\Help\IISHelp\Common\500-100.asp และจัดเก็บในโฟลเดอร์เดียวกันกับแฟ้มต้นฉบับ ตั้งชื่อแฟ้มใหม่ 500-100-OK.asp.
  2. คลิก เริ่ม ชี้ไปที่ โปรแกรม ชี้ไปที่ อุปกรณ์เสริม แล้วคลิก Notepad
  3. ใน Notepad คลิก เปิด ในเมนู แฟ้ม ในกล่องแบบหล่นลง ค้นหาใน ให้เรียกดูแฟ้ม 500-100-OK.asp แล้วคลิก เปิด
  4. แทนที่รหัสต่อไปนี้
    Response.Status = "500 Internal Server Error"
    					
    ด้วยรหัสต่อไปนี้:
       Response.Status = "200 OK"
    					
    หมายเหตุ: ถ้าข้อความแสดงข้อผิดพลาดไม่ถูกแก้ไขก่อนหน้านี้ บรรทัดรหัสเดิมคือ บรรทัด 12

  5. บนเมนู แฟ้ม ให้คลิก บันทึก
  6. ใน Internet Services Manager ให้คลิกเว็บเซิร์ฟเวอร์ของคุณในทรีคอนโซล ถ้าหน้า ASP สคริปต์ระยะไกลในโปรแกรมประยุกต์เว็บภายใต้เว็บไซต์ ให้ขยายโปรแกรมประยุกต์เว็บ
  7. ในบานหน้าต่างรายละเอียด ให้คลิกขวาที่หน้า ASP เซิร์ฟเวอร์สคริปต์ระยะไกลของคุณ แล้วคลิก คุณสมบัติ
  8. คลิก ข้อผิดพลาดที่กำหนดเอง ในรายการ ค้นหารายการ 500;100 โดยค่าเริ่มต้น นี่ตั้งค่าเป็น URL และดูที่ Help/Common/500-100.asp คลิก แก้ไขคุณสมบัติ
  9. แก้ไขเส้นทางเพื่อชี้ไปที่ /IISHelp/Common/500-100-OK.asp ให้คลิก ตกลง แล้วคลิก ตกลง อีกครั้ง

เมื่อคุณใช้แฟ้ม 500-100.asp เพื่อจัดการข้อผิดพลาดในเว็บไซต์ที่ไม่ใช่ค่าเริ่มต้น

เมื่อคุณใช้แฟ้ม 500-100.asp เพื่อจัดการข้อผิดพลาดในเว็บไซต์ที่ไม่ใช่ค่าเริ่มต้น คุณจะได้รับข้อความแสดงข้อผิดพลาด HTTP 500

เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนต่อไปนี้:
  1. ในทรีคอนโซลของ Internet Information Services snap-in ให้คลิกขวาที่เว็บไซต์ที่เหมาะสม คลิก สร้าง แล้วคลิก ไดเรกทอรีเสมือน
  2. ในตัวช่วยสร้างการสร้างไดเรกทอรีเสมือน คลิก ถัดไป ในกล่องข้อความชื่อแทน พิมพ์ IISHelp แล้วคลิก ถัดไป
  3. เมื่อคุณได้รับพร้อมท์เส้นทางไปยังโฟลเดอร์เนื้อหา ให้คลิก เรียกดู เลือกโฟลเดอร์ WINNT\Help\IisHelp แล้วคลิก ถัดไป
  4. ในหน้า เข้าใช้งานสิทธิ์ ยอมรับค่าเริ่มต้นทั้งหมด คลิก ถัดไป แล้วคลิก เสร็จสิ้น
  5. คลิกขวาที่เว็บไซต์อีกครั้ง แล้วคลิก คุณสมบัติ
  6. ในแท็บ ข้อผิดพลาดที่กำหนดเอง ให้เลือกบรรทัดข้อผิดพลาด "500;100" แล้วคลิก แก้ไขคุณสมบัติ
  7. ในกล่องรายการ ประเภทข้อความ ให้พิมพ์ /iisHelp/common/500-100.asp ในกล่องข้อความ URL
  8. คลิก ตกลง แล้วคลิก ตกลง อีกครั้ง

เมื่อคุณใช้คิวรีในเซิร์ฟเวอร์ดัชนี

หลังจากที่คุณคลิก ไป เพื่อใช้คิวรีในเซิร์ฟเวอร์ดัชนี คุณอาจได้รับข้อความแสดงข้อผิดพลาด HTTP 500

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

เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนต่อไปนี้:
  1. ใน Internet Information Services snap-in ให้คลิกขวาที่รากของไซต์ที่มีหน้าคิวรีในทรีคอนโซล แล้วคลิก คุณสมบัติ
  2. ในแท็บ ไดเรกทอรีหลัก ให้คลิก สร้าง
  3. คลิก ตกลง แล้วลองคิวรีอีกครั้ง

เมื่อคุณเข้าถึงผู้ให้บริการจากภายในหน้า ASP

ถ้าคุณล้างกล่องกาเครื่องหมาย แสดงข้อความแสดงข้อผิดพลาด HTTP ที่เข้าใจง่าย คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อคุณพยายามเข้าถึงผู้ให้บริการภายในหน้า ASP:
ADODB.Connection (0x800A0E7A) Provider cannot be found. It may not be properly installed. /Nwind.asp, line 10
ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากไม่ได้ลงทะเบียนไลบรารีที่เชื่อมโยงแบบไดนามิก (DLL) ที่ Microsoft Data Access Components (MDAC) ต้องการ
  1. คลิก เริ่ม คลิก เรียกใช้ แล้วพิมพ์ cmd
  2. ที่พร้อมท์คำสั่ง ให้พิมพ์ cd %systemroot%:\Program Files\Common Files\System\Ole
  3. ที่พร้อมท์คำสั่ง ให้พิมพ์ regsvr32 sqloledb.dll
  4. เมื่อคุณได้รับการยืนยันว่า DLL ลงทะเบียนสำเร็จ ให้คลิก ตกลงหมายเหตุ: วิธีแก้ไขปัญหานี้ใช้ Microsoft SQL Server OLE Provider DLL, Sqloledb.dll เป็นตัวอย่าง เนื่องจาก DLL ที่ไม่ลงทะเบียนอาจแตกต่างกันตามผู้ให้บริการ OLE DB ที่คุณใช้ คุณต้องแก้ไขขั้นตอนที่ 2 ตามสถานการณ์ของคุณ

เมื่อคุณตั้งค่า COM+ application identity บน IIS 5.0

เมื่อคุณพยายามตั้งค่า COM+ application identity บน IIS 5.0 คุณจะได้รับข้อความแสดงข้อผิดพลาด HTTP 500

ปัญหานี้เกิดขึ้นเมื่อการระบุตัวตันของ COM+ application หรือแพคเกจ Microsoft Transaction Server (MTS) ถูกกำหนดค่าสำหรับผู้ใช้ที่โต้ตอบ หรือผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน เนื่องจากไม่มีผู้ใช้เข้าสู่ระบบใน IIS console ในปัจจุบัน โปรแกรมประยุกต์จึงไม่ทำงาน

ในการแก้ไขปัญหานี้ ให้ตั้งค่าการระบุตัวตนของ COM+ application หรือแพคเกจ MTS ไปที่ ผู้ใช้นี้ และระบุบัญชีผู้ใช้ โดยให้ทำตามขั้นตอนต่อไปนี้
  1. คลิก เริ่ม ชี้ไปที่ โปรแกรม ชี้ไปที่ Administrative Tools แล้วคลิก บริการคอมโพเนนต์
  2. ในทรีคอนโซล ขยาย บริการคอมโพเนนต์ ขยาย คอมพิวเตอร์ ขยาย My Computer แล้วขยายCOM+ Applications ค้นหาโปรแกรมประยุกต์ที่มีการระบุตัวตนที่คุณต้องการเปลี่ยนแปลง
  3. คลิกขวาที่โปรแกรมประยุกต์ COM+ application แล้วคลิก คุณสมบัติ
  4. บนแท็บ การระบุตัวตน ให้คลิก ผู้ใช้นี้ พิมพ์บัญชีที่ถูกต้องสำหรับคอมพิวเตอร์ แล้วคลิก ตกลง

เมื่อคุณตั้งค่า MTS application identity บน IIS 4.0

เมื่อคุณตั้งค่า MTS application identity บน IIS 4.0 คุณจะได้รับข้อความแสดงข้อผิดพลาด HTTP 500

เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนต่อไปนี้:
  1. ใน Internet Information Services snap-in ขยาย คอมพิวเตอร์ ขยาย My Computer แล้วขยาย Microsoft Transaction Server ค้นหาแพคเกจที่มีการระบุตัวตนที่คุณต้องการเปลี่ยนแปลง โปรแกรมประยุกต์แสดงอยู่ในโฟลเดอร์ที่ติดตั้งแพคเกจ
  2. คลิกขวาที่แพคเกจ แล้วคลิก คุณสมบัติ
  3. บนแท็บ การระบุตัวตน ให้คลิก ผู้ใช้นี้ พิมพ์บัญชีที่ถูกต้อง แล้วคลิก ใช้

เมื่อ IIS 4.0 เรียกใช้พื้นที่หน่วยความจำของตนเอง

คุณอาจได้รับข้อความแสดงข้อผิดพลาด HTTP 500 หากเป็นไปตามเงื่อนไขต่อไปนี้:
  • เว็บไซต์เริ่มต้นของ IIS version 4.0 กำลังทำงานเป็นกระบวนการแยกต่างหากในพื้นที่หน่วยความจำของตัวเอง
  • Microsoft Internet Explorer ถูกกำหนดค่าให้ใช้เว็บพรอกซี่บน Proxy Server 2.0
  • Internet Explorer ของ BackOffice Small Business Server version 4.5 ถูกกำหนดค่าให้ใช้เซิร์ฟเวอร์พรอกซี่ และเปิดใช้งานตัวกรองแพ็คเก็ตเซิร์ฟเวอร์พรอกซี่
เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนต่อไปนี้:
  1. คลิก เริ่ม ชี้ไปที่ โปรแกรม คลิก Microsoft Proxy Server แล้วคลิกMicrosoft Management Console
  2. ในทรีคอนโซล ขยายโฟลเดอร์ Internet Information Server แล้วขยายอ็อบเจ็กต์เซิร์ฟเวอร์
  3. คลิกขวา เว็บไซต์เริ่มต้น แล้วคลิก คุณสมบัติ
  4. บนแท็บไดเรกทอรีหลัก ค้นหาพื้นที่การตั้งค่าโปรแกรมประยุกต์ แล้วคลิกล้าง เรียกใช้ในพื้นที่หน่วยความจำแยกต่างหาก (กระบวนการแยกต่างหาก)
  5. คลิก ใช้ แล้วคลิก ตกลง
  6. คลิกขวา เว็บไซต์เริ่มต้น แล้วคลิก หยุด
  7. คลิกขวา เว็บไซต์เริ่มต้น แล้วคลิก เริ่ม


ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือก แสดงข้อความแสดงข้อผิดพลาด HTTP ที่เข้าใจง่าย ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
218155 คำอธิบายข้อความแสดงข้อผิดพลาด Hypertext Transport Protocol

คุณสมบัติ

หมายเลขบทความ (Article ID): 311766 - รีวิวครั้งสุดท้าย: 3 มกราคม 2556 - Revision: 5.0
ใช้กับ
  • Microsoft Internet Information Services 5.0
Keywords: 
kbresolve atdownload kbdownload kbhowtomaster KB311766

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com