= ฉันจะโฮสต์เว็บไซต์ ASP.NET หลายเว็บไซต์บน Windows Server 2019 VPS เดียวกันได้อย่างไร = สวัสดี, ฉันเพิ่งเริ่มพัฒนาใน C# และ .NET 6.0 ฉันสร้างเว็บไซต์ 3 แห่งที่ทำงานในเครื่อง และตอนนี้ฉันกำลังพยายามหาวิธีโฮสต์เว็บไซต์เหล่านั้นบน VPS ฉันลองใช้ Microsoft Azure แต่มันแพงเกินไป ฉันมี Windows Server 2019 VPS ที่ให้บริการโดย OVHcloud และฉันสามารถโฮสต์หนึ่งในเว็บไซต์ของฉันได้หลังจากศึกษาค้นคว้ามาหลายชั่วโมง แต่เมื่อฉันพยายามใช้วิธีเดียวกันมันไม่ได้ผล ใครบ้างมีประสบการณ์กับการโฮสต์เว็บไซต์บน Windows Server บ้าง? สมมติว่า VPS มีที่อยู่ IP เพียงที่อยู่เดียว สิ่งที่คุณต้องการทำเรียกว่าการโฮสต์โดยส่วนหัวของโฮสต์ คุณสร้างหลายโดเมนและชี้โดเมนทั้งหมดไปยังที่อยู่ IP เดียวกัน จากนั้นบน VPS ให้คุณเปิด IIS สร้างไซต์เพิ่มเติม และตั้งค่าการเชื่อมโยงสำหรับแต่ละไซต์เป็นโดเมนที่สร้างขึ้นอย่างใดอย่างหนึ่ง IIS ควรแสดงไซต์ที่ถูกต้องสำหรับแต่ละโดเมน คุณไม่จำเป็นต้องใช้พร็อกซีย้อนกลับเลย ฉันจำได้ว่าตอนที่ฉันต้องการโฮสต์เว็บไซต์แรกของฉัน - บทช่วยสอนไม่ได้ตั้งค่าให้คุณใช้เว็บเซิร์ฟเวอร์จริงเช่น IIS ดังนั้นฉันจึงยุ่งตลอดทั้งคืนเพื่อพยายามหาแง่มุมของเครือข่าย คุณไม่จำเป็นต้องมีเว็บไซต์เริ่มต้น - คุณสร้างเว็บไซต์ใหม่ภายใต้โหนดไซต์สำหรับแต่ละไซต์ที่คุณต้องการ บนไซต์ คลิกขวา >สำรวจ วางผลลัพธ์การเผยแพร่ของไซต์ของคุณที่นี่ บนไซต์ คลิกขวา >แก้ไขการเชื่อมโยง >เพิ่ม เพิ่มการเชื่อมโยงประเภท http, ที่อยู่ IP: ไม่ได้กำหนดทั้งหมด (อาจใช้ได้), พอร์ต 80 ชื่อโฮสต์: เช่น www.example.com ตอนนี้ หากคุณเป็นเจ้าของ example.com คุณต้องไปที่ผู้รับจดทะเบียนและอัปเดตระเบียน DNS ของคุณ คุณเพิ่มบันทึกประเภท A ด้วยค่าที่อยู่ IPv4 สาธารณะของเซิร์ฟเวอร์ของคุณ (เช่น 123.456.789.123) สำหรับการรวม www.example.com เนื่องจาก www น่าจะเป็นโดเมนย่อยที่คุณต้องการใช้ เมื่อคุณแยกเว็บไซต์เช่นนี้ IIS จะกำหนดเส้นทางตามการระบุชื่อเซิร์ฟเวอร์ นั่นคือ www.example.com ไปที่ไซต์หนึ่ง api.example.com สามารถไปที่ไซต์อื่นได้ คุณสามารถใช้หมายเลขพอร์ตได้ แต่ไม่ใช่สำหรับเว็บไซต์ทั่วไปที่คุณคาดว่าจะใช้งานได้ในเบราว์เซอร์ นอกจากนี้ คุณอาจต้องการเปลี่ยนเส้นทาง example.com ไปที่ www.example.com ผู้รับจดทะเบียนของคุณควรอำนวยความสะดวกในเรื่องนี้ ตรวจสอบให้แน่ใจว่าไฟร์วอลล์ของคุณอนุญาตคำขอพอร์ต 80 ขาเข้าบนเครื่องเอง และในเครื่องมือการดูแลระบบใดๆ จากผู้ให้บริการเซิร์ฟเวอร์ ตอนนี้ควรทำงานในเว็บเบราว์เซอร์ HTTPS ใช้เวลาทำงานเพิ่มขึ้นเล็กน้อย และโดยปกติแล้วเป็นความคิดที่ดีที่จะบังคับใช้ในระดับเว็บไซต์หรือระดับเว็บเซิร์ฟเวอร์ จากนั้นใช้บางอย่าง เช่น win-acme-simple เพื่อรับใบรับรองฟรี มันทำงานร่วมกับ IIS ได้ดี พร็อกซีย้อนกลับกับแคดดี้ทำงานเหมือนเวทมนตร์ แต่ nginx ก็โอเคเช่นกัน IIS ในทางกลับกัน .. เมื่อเร็ว ๆ นี้ฉันต้องจัดการกับลูกค้าที่ผู้ให้บริการด้านไอทีปฏิเสธที่จะแตะต้องสิ่งที่มีกลิ่นของ Linux จากระยะไกล แต่ล้มเหลวอย่างมากในการทำให้ IIS reverse proxy ทำงานได้ ดังนั้นฉันจึงต้องลองใช้กับสภาพแวดล้อม dev ของฉันและส่งคำแนะนำทีละขั้นตอนไปให้พวกเขา.. ใช่ Azure มีราคาแพง คุณพูดถูก ยิ่งไปกว่านั้น หากคุณใช้ฐานข้อมูลเซิร์ฟเวอร์ MSSQL ทุกอย่างขึ้นอยู่กับความต้องการของคุณ หากคุณโฮสต์เพียง 3 ไซต์ที่มีทราฟฟิกน้อย คุณสามารถใช้โซลูชันโฮสติ้งที่ใช้ร่วมกันได้ คุณไม่จำเป็นต้องซื้อ VPS ซึ่งจะช่วยประหยัดค่าใช้จ่ายได้มาก มีผู้ให้บริการโฮสติ้งที่ใช้ร่วมกันมากมายที่คุณสามารถใช้ได้ เช่น ฉันใช้ Asphostportal และโฮสต์ไซต์ .net กับพวกเขา พวกเขามีราคาไม่แพงและการสนับสนุนของพวกเขาก็ยอดเยี่ยมเช่นกัน คุณอาจลองดูพวกเขา ฉันพบเว็บไซต์ที่ยอดเยี่ยมนี้ซึ่งช่วยให้ฉันพิมพ์สิ่งที่ต้องการทำและยังมีเว็บไซต์อื่นๆ ที่บอกฉันว่าต้องทำอย่างไร ฉันใช้ "เรียกใช้หลายเว็บไซต์บนเซิร์ฟเวอร์เดียว"และนี่คือคำตอบแรก httpwoshub.com/run-multiple-websites-on-the-same-port-and-ip-address-on-iis/ ฉันจะบอกคุณว่าเว็บไซต์ที่ฉันใช้ในการค้นหา แต่ฉันไม่ต้องการให้เว็บไซต์ถูกบุกรุกโดยผู้คนที่ทำให้มันช้าลง == คล้ายกับกระทู้นี้ == - r/dotnetAn ไคลเอ็นต์โอเพ่นซอร์ส 2FA ที่ฉันสร้างขึ้นสำหรับ Windows ขับเคลื่อนโดย 96%432d - การปรับปรุงประสิทธิภาพ r/dotnet ใน .NET 799%354d - r/dotnetAsync/Await â เกิดอะไรขึ้นภายใต้ประทุน92%166d - r/dotnetBlazor ใน 100 วินาที89%213d - r/dotnet แนะนำการขึ้นต่อกันของ Transitive NuGet ใน Visual Studio97%2123h - r/dotnetExample ของ .NET Core WebApi95%294d ที่พร้อมสำหรับการผลิต - r/dotnetฉันสร้างรายชื่อบริษัทที่จ้างนักพัฒนา .NET89%94d - r/dotnetC# / บลาซอร์ วูลเฟนสไตน์89%619ชม - r/dotnetจำนวนโครงการต่อโซลูชัน 93%353d - r/dotnet มารักษาความปลอดภัย .NET Web API ของเราด้วย Let's Encrypt86%68h ฟรี - r/dotnethow เพื่อใช้การตรวจสอบความถูกต้องใน .net core 6 และ entity90%335d - การปรับปรุงประสิทธิภาพ r/dotnet ใน .NET 789%04d - r/dotnet.NET 6.0 - ไฟล์ gitignore เริ่มต้น?92%213d - r/dotnetIntroduction to Machine Learning with C# and ML.NET84%06d - r/dotnet"ธุรกรรมสิ้นสุดในทริกเกอร์ ชุดได้รับ 86%126d