CloudFlare Rulesを使用してドメインの移転をした
ドメインの移行
自分用にVRChat関係のメモを書き留めた「ぶいちゃメモ」というWikiがあるんですが、
身内以外も参照しているっぽいので、jo3qma.comよりcopi.peで管理するほうが適当かなぁ・・・。
とか思ったので、ドメインの移転をすることにしました。そのメモです。
Nginxか何かでリダイレクト設定書いたコンテナ立てても良いのですが、めんどくさいので今回はCloudFlareのルールを使用して実現します。
HTTPステータスコードの話
HTTPアクセスすると、ヘッダーの中にステータスコードというものが付与されて帰ってきます。
通常ならば、200 OK
、ファイルがないなら404 Not Found
といった感じです。
URLの変更やリダイレクトについても決められており、300番台のステータスコードを使用します。
移転関連は
301 Moved Permanently
302 Found
307 Temporary Redirect
308 Permanent Redirect
が該当しそうです。
今回は、永続的に移転するので301
若しくは308
が該当しそうです。
どうやら、今回使用するCloudFlare Rulesでは301
若しくは302
のみ使えるそうです。
なので、301
を返してやるように設定するのが適当そうです。
Webページの設定
これは、使ってるサーバー側アプリケーションの設定なので、完全にメモです。
まず、Wiki.jsのURL設定を移行先ドメインに変更します。
次に、Nginx-Proxy用の設定も変えます。
A/AAAAレコード書き換え
移行先ドメインのDNSレコードを任意のものに、
移行元ドメインのDNSレコードを以下のように書き換えます。
- Aレコード:
192.0.2.1
- AAAAレコード:
100::
Bulk Redirect(一括リダイレクト)で設定する。
CloudFlareのダッシュボードのアカウントホームの下の方にある一括リダイレクトから設定できる。
CloudFlare Rulesの画面から、「ページルールを作成」
ページルールの設定を以下のようにします
- URLを
移転元ドメイン/*
- 設定を
URLの転送
- ステータスコードを
301 - 永久リダイレクト
- 転送先URLを
https://移転先ドメイン/$1
に設定し、デプロイします。
アクションに☑入っていればOKです。
確認
cURLに-I
オプションを付けるとヘッダーのみ返ってきます。
ステータスコードが301、locationが移転先のものになっていればOKです。
$ curl -I https://vrc.jo3qma.com
HTTP/2 301
date: Fri, 30 Jun 2023 01:58:26 GMT
location: https://vrc.copi.pe/
cache-control: max-age=3600
expires: Fri, 30 Jun 2023 02:58:26 GMT
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=jbG8J%2BN6UG8RKWV8YwZT2nG%2FzpDj%2FeU7MCXmzxdxZvDKYnQ0Sj%2BtXtiQmPMph%2Fwvwg%2B2HfqBo8zlh1AmjILA19HsQBL0vAOadgr%2FswVAaFxprJjjZJN6bqhTfZT4zsxbww%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15552000; preload
x-content-type-options: nosniff
server: cloudflare
cf-ray: 7df2cde18cc01a1a-KIX
alt-svc: h3=":443"; ma=86400
$
パスを含む場合でも。。。OK
$ curl -I https://vrc.jo3qma.com/vrchat/launch_options
HTTP/2 301
date: Fri, 30 Jun 2023 01:59:35 GMT
location: https://vrc.copi.pe/vrchat/launch_options
cache-control: max-age=3600
expires: Fri, 30 Jun 2023 02:59:35 GMT
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=gNwoJSAr6pqdtwMTpV9shM4I3w5l4A8HxQ5CZrpa12ZAzkuddhtGZole5fEPOSGCIR5a8gMtLX9TRG%2FNcDnaf7n%2FFdk61NS%2FWLe%2FsDRCYdIY%2F9sNquOwedy5lhmbJl1tJA%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15552000; preload
x-content-type-options: nosniff
server: cloudflare
cf-ray: 7df2cf8fdabd19c5-KIX
alt-svc: h3=":443"; ma=86400
$
おわり
Bulk Redirectsとかでできるかと思ったけどそんなことはなく、Rulesで設定するのに気づくのに時間かかった。
これで、copi.peのコンテンツを増やすことができたし、ドメイン維持の意味もできてきた。(Misskeyあるけどね)