はじめに
CDNサービスを利用している場合、通常は名前解決後のIPアドレスがCDNサービスのものとなってしまうため、OriginサーバーへのリクエストはCDNサービスを経由したものとなります。
動作確認などのためにOriginサーバーに直接リクエストを送りたい場合は、リクエストを送る際にオプションを設定することで、CDNを迂回してOriginサーバーにリクエストを送ることができます。
前提条件
- OriginサーバーのグローバルIPアドレスが分かっている必要があります
- curlコマンド(version 8.6.0)を使った例を示します
やり方
OriginサーバーのグローバルIPアドレスが 203.0.113.154
、URLが https://example.com
の場合、以下のコマンドを実行します。
$ curl https://example.com --resolve example.com:443:203.0.113.154
nginxのvirtual hostを使っている場合は、以下のようにHostヘッダーを付与する必要があります。
$ curl https://example.com -H 'host: example.com' --resolve example.com:443:203.0.113.154
今回は、curlの --resolve
オプション*1を利用して、リクエストの向き先をCDNからOriginサーバーに変更しました。
hostsファイルを変更して向き先を変える方法もありますが、毎回ファイルを書き換えるのが手間だったり変更したまま元に戻し忘れるリスクがあるため、curlコマンドのオプションで向き先を変えるのが手軽で良いかなと思います。
CDNを迂回してOriginサーバーにリクエストを送れると何が嬉しいのかというと、OriginサーバーがHTTPSでリクエストを受け付けている場合に、証明書が適切に設定されているかを確認したり、CDNを経由しないリクエストをブロックする設定などが適切に機能しているかを確認する際などに便利です。