Heroku のアプリ名、サブドメイン、URL
最終更新日 2025年03月12日(水)
すべての Heroku アプリにはユニークな名前とサブドメインがあります。この記事では、それらがどのように生成されるか、およびそれらの関係について説明します。
アプリ名
アプリ名はアプリケーションの一意識別子です。小文字、数字、ダッシュの 30 文字までの文字列を指定できます。アプリの作成時に、ダッシュボードで、または heroku apps:create APPNAME
を実行して名前を選択できます。
たとえば、example-app
という名前でアプリを作成すると、Heroku CLI で heroku apps:info --app example-app
を使用して、その情報にアクセスできます。
名前を選択せずにアプリを作成すると、プラットフォームによって自動的に生成されます。
Heroku プラットフォームでは、このアプリ名をアプリのサブドメインの一部としても使用します。
サブドメイン
デフォルトでアプリは Heroku ドメインからアクセスでき、APPNAME-IDENTIFIER.herokuapp.com
または APPNAME-IDENTIFIER.DNS-ZONE.herokuapp.com
の形式になります。サブドメインは APPNAME-IDENTIFIER
の部分で、アプリ名と 12 文字のランダムな識別子を組み合わせたものです。たとえば、example-app-1234567890ab
とします。
この形式の例外は、予測可能な URL を使用するように、Review Apps を設定した場合です。
いつでもアプリの名前を変更でき、それによって新しいサブドメインが作成されます。詳細は、「CLI からのアプリの名前変更」を参照してください。アプリの名前を変更すると、古いサブドメインが破棄され、新しいサブドメインが作成されます。識別子の追加は、サブドメインの再利用を軽減します。
サブドメインを含むカスタムドメインの追加など、カスタムドメインの追加については、「アプリのカスタムドメイン名」を参照してください。
アプリはサブドメインで利用できますが、本番環境のアプリについてはカスタムドメインを追加することを強くお勧めします。
Heroku ではサブドメインへの識別子の追加を 2023 年 6 月 14 日に開始しました。この日より前に作成されたアプリケーションは、サブドメインがアプリ名と同じである古いサブドメインスキーマが維持されます。これらのアプリの名前を変更すると、APPNAME-IDENTIFIER.herokuapp.com
の現在のスキーマを使用するサブドメインが作成されます。
サブドメインの再利用の軽減
攻撃者がターゲットドメインを制御できるようになると、サブドメインの乗っ取りが発生します。一般に、乗っ取りは、アプリケーションが非推奨になったが、その古い URL がアクティブなままで、従来のユーザーからのトラフィックをまだ受信できる場合に発生します。攻撃者は、その URL でアプリを作成し、トラフィックを傍受して、独自のコンテンツを提供できます。この乗っ取りは、フィッシング攻撃、Cookie 盗難、OAuth 許可リスト登録のバイパスにつながる可能性があります。ランダムな識別子の追加によって、アプリの削除または名前の変更後に、乗っ取りからサブドメイン名を保護することに役立ちます。
予測可能な URL を使用するように、Review Apps を設定すると、それらのアプリがサブドメインの乗っ取りの可能性にさらされる場合があります。
URL
デフォルトでアプリは Heroku ドメインからアクセスできます。
- Cedar 世代のアプリの形式は
APPNAME-IDENTIFIER.herokuapp.com
です。ここで、APPNAME-IDENTIFIER
はサブドメインです。たとえば、example-app-1234567890ab.herokuapp.com
とします。 - Fir 世代のアプリではシャード DNS ゾーンを使用し、ドメイン形式は
APPNAME-IDENTIFIER.DNS-ZONE.herokuapp.com
です。たとえば、example-app-1234567890ab.redwood-oregon.herokuapp.com
のようになります。
サブドメインを含むカスタムドメインの追加など、カスタムドメインの追加については、「アプリのカスタムドメイン名」を参照してください。