ที่อยู่และการเข้าถึง
ทุกแอปมีที่อยู่สาธารณะ ที่อยู่พรีวิวของแต่ละเวอร์ชัน และที่อยู่ภายใน คุณจะเปิดเป็นสาธารณะหรือป้องกันด้วยรหัสผ่านก็ได้
ที่อยู่ 3 แบบ#
ที่อยู่ประกอบด้วยป้ายกำกับที่อยู่และชื่อองค์กร และใช้ HTTPS ทั้งหมด
| ที่อยู่ | ใครเปิดได้ | ตัวอย่าง |
|---|---|---|
| ที่อยู่สาธารณะ | ทุกคน ถ้าแอปเป็นส่วนตัวต้องใช้รหัสผ่าน | https://order-api--acme.hosting.agentlab.run |
| ที่อยู่พรีวิวของเวอร์ชัน | ผู้ที่มีที่อยู่ ถ้าแอปเป็นส่วนตัวต้องใช้รหัสผ่าน | เวอร์ชันละหนึ่งที่อยู่ แสดงข้างเวอร์ชัน |
| ที่อยู่ภายใน | เฉพาะแอปในองค์กรเดียวกัน เบราว์เซอร์เปิดไม่ได้ | https://order-api--acme.internal-hosting.agentlab.run |
ป้ายกำกับที่อยู่#
คุณเลือกป้ายกำกับที่อยู่ตอนสร้างแอป ใช้ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก ตัวเลข และขีดกลาง เมื่อใช้แล้ว ป้ายกำกับจะเป็นขององค์กรคุณ แม้ลบแอปถาวรแล้วก็จะไม่มอบให้ผู้อื่น
สาธารณะหรือส่วนตัว#
เลือกการเข้าถึงใน ตั้งค่า ของแอป
| ตัวเลือก | ผล |
|---|---|
| สาธารณะ | ทุกคนที่มีที่อยู่ดูได้ |
| ส่วนตัว | ทุกที่อยู่ของแอป (ที่อยู่สาธารณะและที่อยู่พรีวิวของแต่ละเวอร์ชัน) จะแสดงหน้ารหัสผ่านก่อน |
คอนโซลสร้างรหัสผ่านและแสดงเพียงครั้งเดียว ถ้าทำหาย ให้สร้างใหม่
แอปส่วนตัวไม่ผ่าน CDN
เหมาะกับผู้ตรวจไม่กี่คน แต่ไม่เหมาะกับปริมาณการใช้งานสูง
เรียกจากแอปอื่น#
แอปในองค์กรเดียวกันเรียกกันผ่านที่อยู่ภายใน
- เฉพาะแอปขององค์กรคุณที่อยู่ภายในแพลตฟอร์มเท่านั้นที่เรียกได้ องค์กรอื่น ขั้นตอนบิลด์ และอินเทอร์เน็ตเรียกไม่ได้
- ใบรับรองเป็นแบบที่เชื่อถือได้สาธารณะ ไคลเอนต์ HTTP ทั่วไปจึงใช้ได้โดยไม่ต้องตั้งค่าเพิ่ม
- การเรียกจะไปถึงเวอร์ชันที่เผยแพร่อยู่
- ที่อยู่ภายในไม่มีหน้ารหัสผ่าน ให้ป้องกันเอนด์พอยต์ที่สำคัญในโค้ดเอง
คำขอที่มาทางที่อยู่ภายในจะมีส่วนหัว X-Franky-Caller-App ซึ่งเป็นป้ายกำกับที่อยู่ของแอปที่เรียก ให้เชื่อถือเฉพาะเมื่อ Host เป็นโดเมนภายใน
const internal = req.headers.host?.endsWith(".internal-hosting.agentlab.run");
const caller = internal ? req.headers["x-franky-caller-app"] : undefined;
if (req.url.startsWith("/admin") && caller !== "billing-worker") {
res.writeHead(403).end();
return;
}