หลีกเลี่ยงปัญหา SOP, รวมต้นทาง, บริการพร็อกซี, ใช้ SSL, HTTP2, SSI และอื่นๆ... ในระหว่างการพัฒนา!
การติดตั้ง | การใช้งาน | การกำหนดค่า | ตัวอย่างโครงการ | สนับสนุน | บันทึกการเปลี่ยนแปลง
Proxrox เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่เริ่มต้นอินสแตนซ์ Nginx ในเครื่องเพื่อให้บริการไฟล์คงที่ พร็อกซีหนึ่งหรือหลายบริการภายใต้ต้นทางเดียว ใช้ SSL ในเครื่อง และโดยทั่วไป เพื่อรับสภาพแวดล้อมการพัฒนาที่คล้ายกับสภาพแวดล้อมการใช้งานจริง
Proxrox บรรลุเป้าหมายนี้โดยใช้ Nginx เมื่อ proxrox ถูกขอให้เริ่มต้นเซิร์ฟเวอร์ มันจะสร้างไฟล์กำหนดค่า Nginx ในตำแหน่งชั่วคราว และเริ่มอินสแตนซ์ Nginx โดยใช้ไฟล์กำหนดค่านี้ ซึ่งหมายความว่า proxrox สามารถรองรับฟีเจอร์ทั้งหมดของ Nginx ได้ในทางทฤษฎี
คุณยังสามารถใช้ Proxrox เพื่อดีบักเว็บแอปได้ ดังที่แสดงในการนำเสนอต่อไปนี้
TL;DR; npm install -g proxrox
Nginx ต้องอยู่บน $PATH
และสามารถเรียกทำงานได้โดยไม่มีสิทธิ์ผู้ใช้ระดับสูง
คำแนะนำการติดตั้งโดยละเอียดมีอยู่ใน INSTALLATION.md
เริ่ม proxrox โดยใช้ไฟล์คอนฟิกูเรชันในเครื่อง รูปแบบและตัวเลือกที่รองรับอธิบายไว้ในไฟล์ CONFIGURATION.md
proxrox start .proxrox.yaml
หยุดอินสแตนซ์ Nginx ที่ทำงานอยู่ (หยุดทั้งหมด):
proxrox stop
ประสบการณ์ได้แสดงให้เห็นว่าคำจำกัดความของตัวเลือกผ่านไฟล์การกำหนดค่า เช่น . .proxrox.yaml
เป็นตัวเลือกที่ใช้บ่อยที่สุด สามารถดูโปรเจ็กต์ตัวอย่างการทำงานที่มีการตั้งค่าโปรเจ็กต์ที่แนะนำได้ในไดเร็กทอรีตัวอย่าง
สภาพแวดล้อมการพัฒนาควรมีลักษณะคล้ายกับสภาพแวดล้อมการผลิต ซึ่งหมายความว่าฝั่งเซิร์ฟเวอร์รวมถึงความปลอดภัยของเลเยอร์การขนส่ง การบีบอัด และอื่นๆ ควรมีในระหว่างการพัฒนา สิ่งนี้ไม่เพียงสำคัญสำหรับการเพิ่มประสิทธิภาพความเร็วของหน้าเท่านั้น แต่ยังช่วยให้คุณพบปัญหาด้านความปลอดภัยตั้งแต่เนิ่นๆ เช่น หน้าเว็บที่ปลอดภัยซึ่งอ้างอิงถึงเนื้อหาที่ไม่ปลอดภัย
ไม่ว่าแอปจะเป็นแบบเน้นการบริการ แบบไมโครเซอร์วิส หรือสถาปัตยกรรมไคลเอ็นต์แบบเน้นทรัพยากร หรือเป็นแอปหน้าเดียว นโยบายที่มีต้นกำเนิดเดียวกันมักเป็นปัญหาสำหรับการพัฒนาในท้องถิ่น ผู้คนหลีกเลี่ยงปัญหานี้ด้วยวิธีต่างๆ แม้ว่าทีมส่วนใหญ่จะมีแนวทางปฏิบัติที่ดีสำหรับสภาพแวดล้อมการใช้งานจริง แต่สภาพแวดล้อมการพัฒนามักจะขาดสิ่งนี้ โซลูชันที่ฉันเห็นมีตั้งแต่การแบ่งปันทรัพยากรข้ามต้นทางสำหรับการพัฒนาในท้องถิ่นที่เปิดใช้งานผ่านแฟล็กคุณลักษณะไปจนถึงการปิดใช้งานความปลอดภัยของเว็บในเบราว์เซอร์โดยสิ้นเชิง
หลายๆ คนไม่รู้จักหรือใช้การรวมฝั่งเซิร์ฟเวอร์ อาจมีเหตุผลหลายประการสำหรับเรื่องนี้ สิ่งหนึ่งที่ฉันสังเกตตัวเองก็คือต้องใช้เวลาในการตั้งค่าสภาพแวดล้อมการพัฒนาที่เหมาะสมด้วยพร็อกซีเซิร์ฟเวอร์
มีบางอย่างไม่ทำงานตามที่คาดไว้ใช่ไหม อย่าลังเลที่จะติดต่อฉันทาง Twitter ผ่านทาง @BenRipkens!