ปัญหาเฮงซวยมากครับ เวลาติดตั้ง Web Server ที่ต้องใช้ .net และต้องการ Hardening โดยการย้าย Web Folder ไปไว้ที่ D:\ พอย้ายปุ๊บเจอ Error ห่ารากแบบนี้เลยครับ
ปัญหาย้าย Web Folder ไปไว้ที่ D:\ แล้ว Error 500.19
HTTP Error 500.19 – Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Detailed Error Information:
Module
IIS Web Core
Notification
Unknown
Handler
Not yet determined
Error Code
0x80070005
Config Error
Cannot read configuration file due to insufficient permissions
Config File
\\?\D:\WebFolder\web.config
Requested URL
http://192.168.172.128:80/
Physical Path
Logon Method
Not yet determined
Logon User
Not yet determined
วิธีแก้ไขที่ไม่น่าเชื่อ
ปัญหานี้จะเกิดขึ้นก็ต่อเมื่อคุณใช้งาน Windows Server 2012 + IIS8.0 และติดตั้งบน Vmware + เปิด Auditing ครับ
ถ้าคุณเอา Error เหล่านี้ไปหาใน Web ต่าง ๆ ก็จะพบว่าแนะนำให้ Add Permission ของ User = IIS_IUSRS ให้มีสิทธิ์ = Read & execute ใน Folder ที่อยู่ใน D:\
แต่ผมลองแล้วมันไม่ได้ช่วยแก้ไขให้ปัญหาหายไปเลยครับ
1. ตรวจสอบดูก่อนครับว่าคุณเปิด Audit = Audit Object Access หรือไม่ ตามรูปด้านล่างครับ
2. ถ้าคุณเปิด Audit = Audit Object Access = Success, Failure ให้เข้าไปแก้ไขใน Advance Auditing ครับ วิธีเข้าคือเปิด Local GPO
gpedit.msc แล้วไปที่ Security Settings > Advance Audit Policy Configuration > Object Access > เข้าไปที่ Audit Removable Storage ให้เปิดเป็น No Auditing ( ไม่ต้องเลือก Success, Failure)
เครดิต
1. เทพ อาเมซิอุส ที่ช่วยหา KB ให้ https://www.facebook.com/chakrarases
2. Link ต่าง ๆ เหล่านี้ที่บอกว่ามี Bug
http://stackoverflow.com/questions/14593844/server-2012-iis-site-on-different-drive