CloudFlare Rulesを使用してドメインの移転をした
ドメインの移行
自分用にVRChat関係のメモを書き留めた「ぶいちゃメモ」というWikiがあるんですが、
身内以外も参照しているっぽいので、jo3qma.comよりcopi.peで管理するほうが適当かなぁ・・・。
とか思ったので、ドメインの移転をすることにしました。そのメモです。
Nginxか何かでリダイレクト設定書いたコンテナ立てても良いのですが、めんどくさいので今回はCloudFlareのルールを使用して実現します。
HTTPステータスコードの話
HTTPアクセスすると、ヘッダーの中にステータスコードというものが付与されて帰ってきます。
通常ならば、200 OK、ファイルがないなら404 Not Foundといった感じです。
URLの変更やリダイレクトについても決められており、300番台のステータスコードを使用します。
移転関連は
301 Moved Permanently302 Found307 Temporary Redirect308 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あるけどね)
ぶ!ログ