= ฉันจะโฮสต์เว็บไซต์ 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