deno deploy では、.deno.dev
の前の部分を変更する以外に、任意のドメインを設定できる。
この際に、注意しておくことが有ったのでメモしておく。
参考
設定
誘導に従い A
AAAA
CNAME
レコードを設定する。
(Route53 で設定した。)
Let’s Encrypt の証明書を提供してくれたりと非常に便利である。
気が付いたこと
任意のドメインを設定しても、hogehoge.deno.dev
ドメインが生きたままになっている。
なので、設定した任意のドメインとアクセスできる経路が 2 つある状況。
これを対策して、設定したドメインでだけ応答を返すようにしたい。
対策実装
oak -> ミドルウェアを書く
oak ではこのようにできた。
1 | import "https://deno.land/std@0.150.0/dotenv/load.ts"; |
fresh -> ミドルウェアを書く
fresh ではこのようにできた。
1 | import { MiddlewareHandlerContext } from "$fresh/server.ts"; |
std/http -> おそらく個別対処
ミドルウェア機能は無いので、個別に実装。
1 | import "https://deno.land/std@0.150.0/dotenv/load.ts"; |
それぞれ、console.log(request.headers.get("host"));
を残してしまっている。
deno deploy のログで見たいだけなので、別に残さなくてもいい。
というわけで deno deploy でドメイン指定するときのまとめを記載した。
正直これをアプリケーションでフォローするべきなのかは、判断が難しい。
できるなら、管理画面で OFF できるとうれしい。
では。