IIS 7.5 ไม่โหลดหน้า html คงที่


10

มีการติดตั้ง IIS 7.5 ใหม่บนเซิร์ฟเวอร์เฉพาะ แอป ASP.NET 4.0 เว็บคัดลอกไปยังโฟลเดอร์เว็บไซต์ใหม่ถูกสร้างขึ้นบน IP ของตัวเองในโพสต์ 80, IIS_IUSR และบัญชี IUSR มีสิทธิ์ในการอ่าน / ดำเนินการในโฟลเดอร์ของไซต์ไซต์ถูกกำหนดให้กับพูลแอพแบบรวมของตัวเองด้วย 4.0 (ฉันลองคลาสสิกพูลด้วยผลลัพธ์เดียวกัน)

ปัญหา: เมื่อฉันพยายามเข้าถึงเว็บไซต์นี้เบราว์เซอร์จะโหลดเนื้อหาที่สร้างขึ้นโดยทรัพยากร. NET เช่นหน้า aspx, ไฟล์. maxd ฯลฯ ภาพคงที่, js คงที่, css และไฟล์ html อยู่ในแหล่งที่มาของหน้าเว็บ แต่ IIS ไม่ ไม่ให้บริการพวกเขา เครื่องมือสำหรับพัฒนาในเบราว์เซอร์ทุกตัวบ่นว่าทรัพยากรคงที่เหล่านั้นได้รับการส่งจากเซิร์ฟเวอร์ด้วยประเภทเนื้อหาที่ไม่ถูกต้อง (ข้อความธรรมดาแทนรูปภาพสไตล์ ฯลฯ ) ฉันทำอะไรผิด


คุณเห็นอะไรใน Fiddler (หรือ Firebug)
Slaks

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

ฉันไม่ใช้ Firebug ตัวอย่างเช่น Chrome บ่นว่า "ทรัพยากรตีความว่าเป็นรูปภาพ แต่ถ่ายโอนด้วย MIME type text / plain" เกี่ยวกับไฟล์ jpg บนหน้า เหมือนกันสำหรับทุกสไตล์, js และหน้า html คงที่ นอกจากนี้สคริปต์และ HTML ที่โหลดแบบไดนามิกไม่ทำงาน

@ Aristos: ฉันทำอย่างนั้น เบราว์เซอร์ของเซิร์ฟเวอร์แสดงผลหน้าเว็บในลักษณะเดียวกับที่เบราว์เซอร์ภายนอกทำ ไม่มีข้อผิดพลาดหน้าไม่สมบูรณ์

ผู้ใช้ที่เรียกใช้เว็บเซิร์ฟเวอร์มีสิทธิ์ในการอ่านไฟล์เหล่านั้นหรือไม่
Luc M

คำตอบ:


12

IIS 7 / 7.5 มี "คุณสมบัติ" ใหม่ - บริการบทบาท โพสต์จาก rsbarro เตือนฉันว่ามีบริการบทบาทหนึ่งที่รับผิดชอบเนื้อหาคงที่ เป็นเว็บเซิร์ฟเวอร์ / คุณสมบัติ HTTP ทั่วไป / เนื้อหาคงที่ ตรวจสอบว่าไอคอนประเภท MIME มีอยู่ในตัวจัดการ IIS หรือไม่ตามที่ rsbarro แนะนำ

คุณต้องติดตั้งบริการบทบาทเนื้อหาคงที่ถ้าไม่ได้ ในการทำเช่นนั้นให้เลือก:

  • ผู้จัดการเซิร์ฟเวอร์
  • บทบาท
  • โหนด Web Server (IIS) จากบานหน้าต่างด้านซ้าย
  • เลื่อนไปที่หน้าต่าง Role Services
  • ดูว่ามีการติดตั้งบริการบทบาทเนื้อหาแบบคงที่หรือไม่

จากสิ่งที่คุณอธิบายนี่น่าจะเป็นปัญหาของคุณ

โดยทั่วไปถ้า IIS7 ไม่ได้ทำสิ่งที่ IIS6 ทำสิ่งแรกที่ต้องตรวจสอบคือดูว่ามีการติดตั้งบริการบทบาทที่สอดคล้องกันหรือไม่ หวังว่านี่จะช่วยได้


บทบาทเนื้อหาแบบคงที่ฉันคิดถึงเรื่องนั้นอย่างไร ขอบคุณแก้ไขปัญหาได้อย่างสมบูรณ์แบบ
David Thomas Garcia

6

ใน IIS ให้ไปที่เว็บไซต์ของคุณและตรวจสอบส่วนประเภท MIME (ดูภาพด้านล่าง) ตรวจสอบให้แน่ใจว่าคุณเห็นรายการในรายการนั้นสำหรับ. js, .css, .html ฯลฯ และมีการระบุประเภท MIME ที่เหมาะสม IIS 7.5 จะแสดงหน้าเว็บต่อเมื่อมีการระบุประเภท MIME ตามค่าเริ่มต้นประเภท MIME สำหรับส่วนขยายเหล่านี้จะถูกตั้งค่าในapplicationHost.configไฟล์ที่อยู่ในC:\Windows\system32\inetsrv\configโฟลเดอร์ (คุณอาจต้องเรียกใช้ notepad ในฐานะผู้ดูแลระบบเพื่อดูไฟล์) เพียงค้นหา. js และคุณควรค้นหารายการภายใต้<mimeMap>ใน<staticContent>องค์ประกอบ

iis mime type

การตั้งค่าเหล่านี้สามารถแก้ไขได้ในweb.configไฟล์ของคุณ หากเป็นเช่นนั้นจะปรากฏในตำแหน่งต่อไปนี้ในweb.config:

<system.webServer>
    <staticContent>
        <remove fileExtension=".js" />
    </staticContent>
</system.webServer>

ฉันจะเริ่มต้นอย่างแน่นอนด้วยการตรวจสอบที่นั่น หากทุกอย่างดูโอเคภายใต้ส่วนประเภท MIME อาจเป็นไปได้ว่าคุณมีโมดูลที่รบกวนการร้องขอไฟล์สแตติก (แต่ส่วนใหญ่จะเป็นไปได้เฉพาะเมื่อคุณ<modules runAllManagedModulesForAllRequests="true" />ตั้งค่าไว้ใน<system.webServer>ส่วนของคุณ) หากเป็นกรณีนี้ฉันจะลบการตั้งค่าโมดูลทั้งหมดในของคุณweb.configและดูว่าคุณสามารถเปิดไฟล์คงที่ได้หรือไม่จากนั้นอ่านครั้งละหนึ่งโมดูลเพื่อดูว่าโมดูลใดเป็นสาเหตุของปัญหา หากคุณไม่สามารถเข้าใจได้ฉันขอแนะนำให้โพสต์เนื้อหาของคุณweb.config(หรืออย่างน้อยก็system.webและในsystem.webServerส่วน) ของคำถาม


2

ฉันมีปัญหาเดียวกัน แต่กลุ่มแอพของฉันทำงานภายใต้บัญชีโดเมนและผู้ใช้รายนั้นมีสิทธิ์ในโฟลเดอร์เว็บไซต์ เว็บไซต์ของฉันแสดงผล aspx แต่ไม่มีเนื้อหาคงที่ สิ่งที่แก้ไขปัญหาของฉันคือการเพิ่มกลุ่ม IIS_IUSRS ไปยังนโยบายความปลอดภัยในพื้นที่ที่เรียกว่า "เลียนแบบไคลเอนต์หลังจากการรับรองความถูกต้อง" กลุ่ม IIS_IUSRS มีบัญชีโดเมนของฉันอยู่ ฉันใช้งานเซิร์ฟเวอร์ iis 7.5 windows 2008


หวังว่าฉันจะสามารถโหวตมากกว่าหนึ่งครั้ง ฉันมาถึงคำถามนี้ในขณะที่ค้นหาสาเหตุที่ไฟล์. css ของฉันไม่ได้รับการบริการจาก IIS มันเกี่ยวข้องกับการอนุญาต Windows ในโฟลเดอร์ที่เก็บไว้
2b77bee6-5445-4c77-b1eb-4df3e5
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.