Crescendo Lab ドキュメント
日本語
無料で始める

アドレスとアクセス

各アプリには公開アドレス、バージョンごとのプレビューアドレス、内部アドレスがあります。公開のままにするか、パスワードで保護できます。

最終更新

3 種類のアドレス#

アドレスはアドレスラベルと組織名で構成され、すべて HTTPS です。

アドレス開ける人例
公開アドレス誰でも。非公開アプリはパスワードが必要https://order-api--acme.hosting.agentlab.run
バージョンのプレビューアドレスアドレスを知っている人。非公開アプリはパスワードが必要バージョンごとに 1 つ。バージョンの横に表示
内部アドレス同じ組織のアプリだけ。ブラウザでは開けませんhttps://order-api--acme.internal-hosting.agentlab.run

アドレスラベル#

アドレスラベルはアプリの作成時に決めます。小文字の英字、数字、ハイフンが使えます。一度使ったラベルは組織に保持され、アプリを完全に削除しても他の誰かに割り当てられることはありません。

公開か非公開か#

アプリの「設定」でアクセスを選びます。

選択肢動作
公開アドレスを知っている人なら誰でも閲覧できます。
非公開アプリのすべてのアドレス(公開アドレスと各バージョンのプレビューアドレス)で、まずパスワードページが表示されます。

パスワードはコンソールで生成され、一度だけ表示されます。紛失した場合は再生成してください。

非公開アプリは CDN を経由しません

少人数のレビューには十分ですが、大量のトラフィックには向きません。

別のアプリから呼び出す#

同じ組織のアプリどうしは、内部アドレスで呼び出します。

  • 呼び出せるのは、プラットフォーム内にある自組織のアプリだけです。他の組織、ビルド、インターネットからは呼び出せません。
  • 証明書は公的に信頼されたものなので、標準の HTTP クライアントで追加設定なしに使えます。
  • 呼び出しは公開中のバージョンに届きます。
  • 内部アドレスにはパスワードページがありません。保護が必要なエンドポイントはコード側で確認してください。

内部アドレスに届いたリクエストには、送信元アプリのアドレスラベルを示す X-Franky-Caller-App ヘッダーが付きます。Host が内部ドメインのときだけ信頼してください。

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;
}