Worker への認証なしアクセス
通常、Worker へのアクセスは、認証が必要ですが、認証なしで Worker にアクセスすることもできます。
認証なしとすることで、ウェブブラウザーから Worker にアクセスできるようになります(認証ありだとウェブブラウザーから Worker にアクセスできません)。これにより、ビュー(HTML)を返す通常の Rails アプリケーションを Worker として作ることができます。
ここでは、認証なしで Worker にアクセスできるようにするデプロイ方法を解説します。
ドメイン名
認証ありの場合は、認証情報の中にアクセスする Worker を特定する情報が含まれています。これに対して、認証なしの場合は、アクセスする Worker を特定する情報がありません。
このため、認証なしの場合は、MAGELLAN にアクセスする際のドメイン名を使って Worker を特定します。
ドメイン名は、Worker 毎に自由な名称を付与できますが、以下のルールを守る必要があります。
magellanic-clouds.net
は固定です。第 3 レベルドメインのみを使って自由に名称を付与することができます。- 例:
foo.magellanic-clouds.net
,bar.magellanic-clouds.net
- 第 4 レベルドメイン以降は使用できません。
- 例:
- MAGELLAN 内でユニークでなければなりません。
- 使用できる文字の種類は、英数字(a-z, A-Z, 0-9)とハイフン(-)です。
- 大文字小文字の区別はありません。
- ドメイン名全体で 253 文字以内(
magellanic-clouds.net
を含む)です。- ピリオド(.)で区切られた名称(ラベル)は 63 文字以内です。
デプロイ手順
認証なしアクセスを実現するためには、Worker のデプロイ時に以下の情報を設定する必要があります。
- 認証なしで Worker にアクセスすること
- Worker とドメインの対応付け
認証なしで Worker にアクセスすること
「認証なしで Worker にアクセスすること」は、ステージが管理する authentication
情報に、false
を設定することで実現します。authentication
情報は、認証の有無を表わします。
authentication 値 | 認証有無 |
---|---|
true | 認証あり |
false | 認証なし |
設定は、magellan-cli stage update
コマンドを使います。例えば、ステージ V10
で動作する Worker に認証なしでアクセスする場合は、次のように使います。
$ magellan-cli stage select V10
$ magellan-cli stage update '{"authentication":false}'
Worker とドメインの対応付け
「Worker とドメインの対応付け」は、クライアントバージョンが管理する domain
情報に、ドメイン名を設定することで実現します。
設定は、magellan-cli client_version create
コマンドを使います。例えば、ドメイン名 foo.magellanic-clouds.net
をステージ V10
で動作する Worker に対応付けたい場合は、次のように使います。
$ magellan-cli stage select V10
$ magellan-cli client_version create V10 -d foo.magellanic-clouds.net
この例では、新たにクライアントバージョンを作成していますが、作成済みのクライアントバージョンにドメイン名を設定する場合は、magellan-cli client_version update
を次のように使います。
$ magellan-cli client_version select V10
$ magellan-cli client_version update '{"domain":"foo.magellanic-clouds.net"}'
クライアントバージョンの domain
情報には、デフォルト値 nebula-001a-web.magellanic-clouds.net
が設定されています。
この状態で、ステージの authentication
を false
にしても認証なしアクセスはできません。
認証なしアクセスは、必ずこのデフォルト値と異なるドメイン名を設定してください。