หน้า 1 จาก 13
Internet Information Services

เจาะโครงสร้าง IIS

กลไกการทำงานภายในของ IIS หน่วยการจัดการ การติดตั้ง module การกำหนดกฎการเขียน URL และแนวทางวิเคราะห์ปัญหา สำหรับการนำเว็บแอปพลิเคชันขึ้นให้บริการบน Windows Server

ขอบเขต ชั้น IIS เป็นหลัก
เนื้อหา 13 ส่วน · แผนภาพ 16 รูป
อ้างอิง 36 รายการ · เปิดอ่านเต็มทุกหน้า

เอกสารนี้ทำไว้เพื่ออะไร

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

คำถามตอบอยู่ที่
แต่ละตัวคืออะไร — IIS, Tomcat, Spring Boot, React คือซอฟต์แวร์ประเภทไหน ทำหน้าที่อะไร01 · 11 · 10 · 12
แต่ละตัวทำงานอย่างไร — ข้างในมีองค์ประกอบอะไร รับ request มาแล้วทำอะไรต่อ ตั้งค่าที่ไหน02–09
รวมกันแล้วเป็นระบบอย่างไร — ต่อกันตรงไหน ค่าใดต้องตรงกัน เรียกสถาปัตยกรรมแบบนี้ว่าอะไร13

สัดส่วนเนื้อหาเอนไปทาง IIS มากที่สุด เพราะเป็นตัวที่อยู่หน้าสุดและเป็นจุดที่ ปัญหาส่วนใหญ่เกิดขึ้น ส่วนที่ 01 ถึง 09 จึงเรียกปลายทางว่า upstream แบบกลาง ๆ ไว้ก่อน แล้วส่วนที่ 10 ถึง 12 ค่อยลงรายละเอียดว่าปลายทางจริงคือ Spring Boot บน Tomcat 11 และ frontend คือ React

ทำไมต้องเป็น IIS

ไม่ใช่เพราะบังคับ แต่เพราะ ระบบรันอยู่บน Windows Server ซึ่งมี IIS เป็น web server ติดมากับระบบปฏิบัติการอยู่แล้ว เมื่อสถาปัตยกรรมต้องการ reverse proxy อยู่แล้ว การใช้ของที่มีอยู่จึงสมเหตุสมผลกว่า การติดตั้งตัวกลางเพิ่ม

สิ่งที่อยู่นอกขอบเขต ได้แก่ การเขียนโค้ดแอปพลิเคชัน การออกแบบฐานข้อมูล และ business logic ของระบบ

ชื่อ site path ของไฟล์ และหมายเลข port ที่ปรากฏในคำสั่งทั้งหมด เป็น ค่าตัวอย่างที่กำหนดขึ้นเพื่อให้คำสั่งเป็นรูปธรรม เมื่อนำไปใช้งานจริงให้แทนที่ด้วยค่าที่องค์กรกำหนด

ค่าอ้างอิงที่ใช้ตลอดเอกสาร

รายการค่าที่ใช้
โดเมนที่ผู้ใช้เรียกhttps://app.corp.local
IIS Sitecorp-web
Application PoolCorpWebPool
โฟลเดอร์ไฟล์ staticD:\apps\corp-web
upstream ของ proxyhttp://127.0.0.1:8080
path บน upstream/corp-api

โครงสร้างเนื้อหา

ส่วนหัวข้อสาระสำคัญ
01–03พื้นฐานและสถาปัตยกรรมองค์ประกอบภายในของ IIS หน่วยการจัดการ และหน้าที่สองประการที่ IIS รับผิดชอบ
04–06การติดตั้งและกำหนดค่าติดตั้ง module สร้าง Application Pool และ Site และกำหนดกฎใน web.config
07–09การใช้งานจริงการส่งต่อข้อมูล client การกำหนด HTTPS และแนวทางวิเคราะห์ปัญหา
10–12ฝั่งแอปพลิเคชันการเตรียม Spring Boot และ React ให้ค่าตรงกับ IIS · Tomcat และการพัฒนาแบบแยกส่วน
13Full Stack Architectureร้อยทุกส่วนเข้าด้วยกัน ชื่อเรียกของสถาปัตยกรรม เหตุผลที่เลือก และค่าที่ต้องตรงกัน

ใช้ปุ่มลูกศรซ้าย–ขวาเพื่อเปลี่ยนส่วนได้