アプリ URL とドメイン
Web アプリや静的サイトには専用の URL が割り当てられ、デプロイ後に利用者へ共有できます。自社で管理するドメインを使うこともできます。
標準の URL は次の形式です。slug は、URL などに使う識別名です。
https://<ワークスペース slug>--<アプリ slug>.keelson.runワークスペースの slug が acme、keelson.yaml の slug が dashboard なら https://acme--dashboard.keelson.run です。HTTPS の証明書は Keelson が管理します。
URL は、コンソールのアプリ画面、デプロイ完了時の AI エージェントの報告、keelson status で確認できます。
アクセスできる人
Section titled “アクセスできる人”URL を知っているだけでは開けません。ワークスペースにログインし、そのアプリの閲覧権限を持つメンバーだけが開けます。IP 制御を設定していれば、許可されたネットワークからのアクセスに限られます。
App User にはアプリの URL を別途共有する必要があります。App User はコンソールを開けないため、自分で URL を確認する手段がありません。上のいずれかの方法で URL をコピーし、チャットやメールで本人に送ってください。
URL を変更する
Section titled “URL を変更する”アプリ作成後も URL は変えられます(Owner / Admin)。コンソールのアプリ設定「公開 URL」から行います。
変更すると以前の URL からは開けなくなり、新しい URL への自動転送もありません。利用者に新しい URL を共有し、ブックマークや外部サービスの設定を更新します。影響を確認するチェックを付けてから変更します。
- 以前の URL は 30 日間予約され、他のアプリが同じ名前を使えません。その間のアクセスには、利用できなくなったことを示す
410 Goneが返ります。30 日後に自動で解放されます keelson.yamlのslugを変えてもアプリの URL は変わりません。slugはアプリの識別に使われます。コンソールでアプリの識別名も変更した場合は、次のデプロイ前にkeelson.yamlのslugを合わせます
ワークスペースの slug も設定から変更できますが、既存アプリの URL は変わりません。新しいワークスペース slug の形式に揃えたい場合は、アプリごとに公開 URL を更新します。
カスタムドメイン
Section titled “カスタムドメイン”Team プランでは、app.example.com のような自社のサブドメインでアプリを利用できます。設定には、ドメインの管理画面で DNS を変更できる権限が必要です。社内のドメイン管理者に依頼する場合は、Keelson が表示する設定値を共有します。
- 対象: Team プラン。ワークスペース合計で 10 件まで、1 アプリに 1 ドメイン
- サブドメインのみ。ルートドメイン(
example.com)とメールドメインは対象外 - カスタムドメイン経由でも、認証・権限・IP 制御は同じように適用されます
設定は次の順で行います。
- Owner または Admin が、コンソールのアプリ設定か
keelson domains add <hostname> [--app <slug>]でドメインを登録します。登録すると、DNS に設定する CNAME の転送先が表示されます - DNS 事業者の設定で、登録したサブドメインの CNAME を表示された転送先へ向けます。本番環境の転送先は
custom-origin.keelson.runです。コンソールまたは CLI に表示された値を使用してください - コンソールの状態表示か
keelson domains verify <hostname> [--app <slug>]で有効になったことを確認します。有効化には数分かかることがあります
所有権の確認、HTTPS 証明書の発行、配信の設定は Keelson が自動で行います。
アプリの中から自分の URL を知る
Section titled “アプリの中から自分の URL を知る”メール内のリンクなど、アプリが自分の URL を組み立てる場合の実装方法です。設定は AI エージェントに依頼できます。
アプリの標準 URL は環境変数 KEELSON_APP_URL で渡されます。リクエストの Host ヘッダーは内部のホスト名になるので、絶対 URL が必要な場面(メール内のリンク、リダイレクト、og:url)では KEELSON_APP_URL を使います。
import os
base_url = os.environ["KEELSON_APP_URL"] # 例: https://acme--dashboard.keelson.runローカル開発では設定されません。「Keelson 上で動いているか」の判別には KEELSON_MODE を使ってください。
公開 URL を変更しても、動いているアプリの環境変数はその場では更新されません。KEELSON_APP_URL を使うアプリは再デプロイし、メール内のリンクや移動先が新しい URL になっているか確認します。
カスタムドメインを設定しても、KEELSON_APP_URL は標準 URL のままです。メールのリンクなどにもカスタムドメインを使いたい場合は、その URL をアプリ側の設定値として持つようエージェントに依頼します(環境変数とシークレット)。