ฉันมี โหนด JS
ใบสมัครด้วย express.js
เป็นเฟรมเวิร์กส่วนหลังที่ปรับใช้บนคลาวด์โดยใช้ Kubernetes K8s ทำงานบนเทมเพลต Ubuntu แอปพลิเคชันที่ใช้งานใน Kubernetes เป็นของ บริการ
พิมพ์ โหนดพอร์ต
. ซึ่งหมายความว่าแอปใช้ที่อยู่ IP ภายนอกของโหนด K8s ในกรณีของฉัน ขณะนี้กำลังใช้ที่อยู่ IP ภายนอกของหนึ่งในโหนดหลัก
จากนั้นฉันกำหนดชื่อโฮสต์ DNS สำหรับแอปพลิเคชันโดยใช้ Cloudflare Tunnel (หรือที่เรียกว่า Argo Tunnel) มันทำงานได้ดีอย่างสมบูรณ์เพราะฉันสามารถเข้าถึงแอปพลิเคชันจากภายนอกคลัสเตอร์ K8s ด้วยชื่อโฮสต์ DNS ที่แก้ไขแล้ว อย่างไรก็ตาม ฉันยังสามารถเข้าถึงแอปพลิเคชันได้โดยตรงจาก a.b.c.d: 31130
.
นี่คือตัวอย่างจาก config.yml
ไฟล์ที่ใช้ในการสร้างอุโมงค์ Cloudflare:
อุโมงค์: ***********8ab68bscjbi9cddhujhdhbh
ไฟล์ข้อมูลประจำตัว: /home/sebastian/.cloudflared/***********8ab68bscjbi9cddhujhdhbh.json
ทางเข้า:
- ชื่อโฮสต์: myapp.test.io
บริการ: http://a.b.c.d:31130
- บริการ: http_status:404
ข้อกังวลของฉันคือ จะปฏิเสธหรือบล็อกการเข้าถึง IP โดยตรงไปยังแอปพลิเคชันได้อย่างไร เนื่องจากฉันไม่ต้องการเปิดเผยที่อยู่ IP และทำให้ชีวิตลำบากสำหรับตัวเองจากมุมมองด้านความปลอดภัย
ฉันต้องกำหนดค่าจากภายในคลัสเตอร์ Cloudflare หรือ K8s หรือไม่ก็เป็นข้อสงสัยของฉันเช่นกัน การตอบรับและข้อเสนอแนะใด ๆ ที่จะได้รับการชื่นชม