スポンサーリンク
概要
Fly.ioへ自身で取得したドメイン(お名前.comで取得)を使用しつつ、ClouldFlareも使用する方法のメモです。
背景として、Heroku上で構築していたRailsのアプリをFly.ioへ移行させる際に実施した内容の忘備録的なものです。
なので、ClouldFlareなどの一から細かいセットアップなどは省略します。
前提
Fly.ioへアプリのデプロイは完了済み。(flyctlのインストールとサインイン済み)
ClouldFlareのサインアップや基本的なセットアップは完了済み。
ドメインはお名前.comから取得済み。
参考
下記の内容を参考にしています。より細かい内容や設定は下記を参照してください。
https://fly.io/blog/how-to-custom-domains-with-fly/
https://fly.io/docs/app-guides/custom-domains-with-fly/
スポンサーリンク
手順
事前準備
お名前.comなどのドメイン側の設定で、ネームサーバの設定においてClouldFlare側のネームサーバを設定してください。
CloudFlareのネームサーバーを確認
この値をお名前.comなどのドメイン側の設定でネームサーバーとして設定する。
IPアドレスの取得(省略化)
後程の設定でIPアドレスを使用せずに、アプリのデプロイ時に割り当てられるドメインを使用する場合にはこの手順は不要です。
(app名.fly.dev)
下記のコマンドを実行して、アプリのIPアドレスを取得します。
1 2 |
flyctl ips list -a ”app名” // 例:flyctl ips list -a surugabu |
下記のような表示がされるのでv4のXXX.XXX.XXX.XXXの部分をメモします。
1 2 3 |
VERSION IP TYPE REGION CREATED AT v4 XXX.XXX.XXX.XXX public global 2022-11-23T03:43:32Z v6 YYYY:YYYY:Y::Y:YYYY public global 2022-11-23T03:43:36Z |
証明書の作成
下記のコマンドを実行して、証明書を発行します。
1 2 |
flyctl certs create -a ”app名” ”ドメイン名” // 例:flyctl certs create -a surugabu surugabu.com |
エラー等が出ずに下記のような文言が表示されれば大丈夫かと思います。
1 2 3 4 5 6 7 8 9 10 11 12 |
// 略 You are creating a certificate for surugabu.com We are using lets_encrypt for this certificate. You can direct traffic to surugabu.com by: 1: Adding an A record to your DNS service which reads A @ XXX.XXX.XXX.XXX // 略 |
CloudFlareのDNS設定
CloudFlareの設定画面からDNSの設定を行います。
ここで設定する値は2種類あるのでお好きな方を使用してください。
IPアドレスの場合
先ほど取得したIPアドレスを下記の設定で追加してください。
タイプ:A
名前:ドメイン名
IPv4 アドレス:取得したIPアドレス
プロキシ:OFF
TTL;自動(お好みで)
Fly.ioのドメインを使用
IPを使用しない場合には下記を設定すればOKです。
タイプ:CNAME
名前:ドメイン名
ターゲット:Fly.ioのアプリのドメイン (例:surugabu.fly.dev)
プロキシ:OFF
TTL;自動(お好みで)
以上で設定は終わりです、数分くらいで私の環境では無事繋がるようになりました。
スポンサーリンク
まとめ
Fly.ioで自身で取得したドメインを設定しつつ、 CloudFlareを使用する方法を紹介しました。
Herokuの無料プランが終わってしまいましたが、なんとか無事Fly.ioへ移行ができました。