IPアドレスを指定してcurlでテストする方法
テストのwebサーバでexample.comとドメインを設定してもDNS設定していなければブラウザやcurlコマンドでexample.comにアクセスしても閲覧できません。
実際のexample.comのIPも自分のサーバとは別のものが設定されていると思います。
shell
# dig example.com +short
93.184.216.34
IPアドレスを指定する方法
所有していないドメインやDNS未設定のドメインをテストするには
- Hostsファイルに記述する
- curlでホスト名とIPを指定する
などの方法があります。
Hostsに記載する方法
Hostsファイルはドメイン名とIPアドレスの紐づけ対応表で名前解決に利用されるファイルです。
Hostsにexample.comと自分のIPを記述すれば、ブラウザでexample.comと入力すると自分のサーバIPに接続するようになります。
テストが終わった後は、Hostsから削除しておきましょう。後々に不具合の原因になる可能性があるからです。
もっと簡易的な方法としてcurlコマンドでHostとIpを指定する方法があります。
Hostsの欠点
- 編集に管理者権限が必要
- 都度書き換えが必要
- 消し忘れるとIPが変更されたときに変更前のアドレスを見に行ってしまう
curl -H “Host:ドメイン名” IPアドレスでIPを指定する方法
curl コマンドではIPやドメインを指定することも可能です。
bash
# curl -IL google.com
# curl -IL 172.217.175.23
example.comは自分のIP xxx.xxx.xxx.xxxとしてアクセスするというようにcurl ではHostを指定することができます。
bash
# curl -IL -H "Host:example.com" 127.0.0.1
# curl -IL 172.217.175.23
webサーバのバーチャルホストなど一つのサーバ(IP)に複数のドメインを設定する場合はドメインごとにアクションが変わるのでこのようにテストしたい場面があると思います。
–resolveオプションを使ってアクセスもできます。httpsで確認する場合はこちらを使います。
bash
# curl --resolve example.com:443:172.217.175.23 -I https://example.com
hostsに書かなくてもテストできるので便利です。curlコマンドは他にもいろいろなオプションや使い方があるのでマスターしておきたいところです。