1หลังจากแก้ไขไฟล์ applicationhost.config (อยู่ในโฟลเดอร์ IISExpress ในเอกสารของคุณ) การผูกเว็บไซต์ของคุณควรมีลักษณะดังนี้:
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
การผูกประกอบด้วยสามส่วน ประการแรกที่อยู่ IP หรือรายการหรือในกรณีนี้คือสัญลักษณ์แทน ประการที่สองหมายเลขพอร์ตและประการที่สามชื่อโฮสต์หรือรายการหรือสัญลักษณ์แทน (สำหรับการกรองตามHost
ส่วนหัว) เพื่อจุดประสงค์ในการพัฒนาสัญลักษณ์แทนเหมาะสมที่สุดที่นี่เนื่องจากคุณน่าจะใช้พอร์ตที่ไม่ซ้ำกัน
2เนื่องจากคุณใช้การเชื่อมโยงที่ไม่ใช่ localhost จึงจำเป็นต้องมีการอนุญาตเพิ่มเติม คุณสามารถเรียกใช้ VS ในฐานะผู้ดูแลระบบหรือควรเพิ่ม URL ACLเพื่อให้สิทธิ์ที่จำเป็น ในตัวอย่างด้านล่างมีการให้สิทธิ์แก่ทุกคน แต่คุณสามารถใช้ชื่อผู้ใช้ของคุณเองได้
หมายเหตุ:urlacl
ต้องตรงกับที่มีผลผูกพัน ดังนั้นurlacl
สำหรับhttp://*:8080
จะอนุญาตให้มีการผูกมัด*:8080:*
แต่ไม่ใช่การผูกมัด*:8080:localhost
แม้ว่าส่วนหลังจะเป็นส่วนย่อยของอดีตก็ตาม ซึ่งหมายความว่าหากคุณแสดงรายการส่วนหัวของโฮสต์แทนการใช้สัญลักษณ์แทนคุณapplicationhost.config
ต้องเพิ่มการจับคู่urlacl
สำหรับแต่ละรายการ
ขั้นตอนในการกำหนดค่า HTTP.sys สำหรับการรับส่งข้อมูลภายนอกคล้ายกับการตั้งค่าไซต์เพื่อใช้พอร์ตที่สงวนไว้ บน Windows 7 หรือ Windows Vista จากพรอมต์คำสั่งที่ยกระดับให้เรียกใช้คำสั่งต่อไปนี้:
netsh http add urlacl url=http://*:8080/ user=DOMAIN\username
บน Windows XP ให้เรียกใช้คำสั่งต่อไปนี้จากพรอมต์คำสั่งที่ยกระดับ:
httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)
หมายเหตุ 2หากการรัน VS ในฐานะผู้ดูแลระบบหรือการเพิ่มรายการ ACL ไม่สามารถแก้ปัญหาของคุณได้ให้เรียกใช้ IIS Express จากบรรทัดคำสั่งและตรวจสอบว่ามีข้อความล้มเหลวในการลงทะเบียนที่ผูกไว้หรือไม่ ในการเริ่มต้นจากบรรทัดคำสั่งให้ใช้คำสั่งนี้:
iisexpress.exe /site:"your-site-name"
3สุดท้ายคุณจะต้องมีรายการไฟร์วอลล์ที่เหมาะสม วิธีนี้ง่ายที่สุดในการใช้คอนโซล "Windows Firewall with Advanced Security"
ภายใต้ "กฎขาเข้า" ให้เลือก "กฎใหม่ ... "
- ประเภทกฎคือ "กำหนดเอง"
- โปรแกรมคือบริการ -> ปรับแต่ง ... -> ใช้กับบริการเท่านั้น (แม้ว่า IIS Express ไม่ใช่บริการ แต่มัลติเพล็กเซอร์ HTTP ที่ใช้คือ)
- โปรโตคอลคือ TCP
- พอร์ตเฉพาะ: แสดงรายการพอร์ตทั้งหมดสำหรับการเชื่อมโยง IIS Express ทั้งหมดของคุณ คุณสามารถกลับมาที่กฎนี้และเพิ่มพอร์ตได้ทุกเมื่อ (หากสิ่งนี้น่าเบื่อคุณอาจเพิ่มช่วงเช่น
40000-65534
ที่ครอบคลุมช่วงทั้งหมดที่ใช้โดย Visual Studio แต่โปรดทราบว่าจะมีความปลอดภัยน้อยกว่า)
- การดำเนินการคือ "อนุญาตการเชื่อมต่อ"
- โปรไฟล์จะเป็นอย่างใดอย่างหนึ่งต่อไปนี้ หากมีข้อสงสัยให้เลือก "โดเมน + ส่วนตัว"
- "โดเมน" ถ้าคุณเป็นเดสก์ท็อปขององค์กรและจะทำงานบนโดเมนท้องถิ่นเท่านั้น
- "โดเมน + ส่วนตัว" หากของคุณเป็นเครื่องพัฒนาส่วนตัวในสภาพแวดล้อมที่ไม่ใช่องค์กรหรือแล็ปท็อปขององค์กรที่ต้องทำงานเมื่อทำงานจากที่บ้าน
- "โดเมนส่วนตัวและสาธารณะ" หากคุณต้องการทำการสาธิตบนเครือข่ายที่ไม่ใช่ส่วนตัว
- ชื่อควรเป็นชื่อ "IIS Express Dev Server"