---
title: 網址與存取權
description: 每個 App 有對外網址、版本預覽網址和內網網址三種網址，可以設成公開或用密碼保護。
url: https://agentlab.cresclab.com/docs/zh-tw/deploy/addresses
language: zh-Hant-TW
updated: 2026-10-06
---

# 網址與存取權

每個 App 有對外網址、版本預覽網址和內網網址三種網址，可以設成公開或用密碼保護。

## 三種網址

網址由網址標籤和組織名稱組成，全部使用 HTTPS。

| 網址         | 誰能打開                               | 範例                                                    |
| ------------ | -------------------------------------- | ------------------------------------------------------- |
| 對外網址     | 任何人；App 設成私人時要輸入密碼       | `https://order-api--acme.hosting.agentlab.run`          |
| 版本預覽網址 | 拿到網址的人；App 設成私人時要輸入密碼 | 每個版本一個，列在版本旁邊                              |
| 內網網址     | 只有同組織的 App，瀏覽器打不開         | `https://order-api--acme.internal-hosting.agentlab.run` |

## 網址標籤

網址標籤在建立 App 時決定，只能用小寫英文字母、數字和連字號。標籤用過之後就留給你的組織，App 永久刪除了也不會給別人。

## 公開或私人

在 App 的「設定」選擇存取權：

| 選項 | 效果                                                                |
| ---- | ------------------------------------------------------------------- |
| 公開 | 任何人拿到網址都能看。                                              |
| 私人 | 這個 App 的每個網址（對外網址和各版本的預覽網址）都會先顯示密碼頁。 |

密碼由主控台產生，只顯示一次。弄丟了就重新產生一組。

> [!NOTE] 私人 App 不經過 CDN
> 給幾個人審閱沒問題，但不適合承接大量流量。

## 從另一個 App 呼叫

同一個組織的 App 之間，用內網網址互相呼叫：

- 只有你組織的 App 能從平台內部呼叫。其他組織、建置過程和網際網路都呼叫不到。
- 憑證是公開信任的，一般的 HTTP 用戶端不用額外設定。
- 呼叫會打到目前上線的版本。
- 內網網址不會顯示密碼頁。需要保護的端點，請在程式裡自己檢查。

從內網網址進來的請求會帶 `X-Franky-Caller-App` 標頭，值是發出請求的 App 的網址標籤。只有在 `Host` 是內網網域時才信任它：

```js server.js
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;
}
```
