DNSにホスト名を登録せずにWebサーバの動作確認を行う方法です。
プライベートIPのWebサーバや、本番環境と同じホスト名で検証サーバの動作テストする方法をたまに聞かれるのでメモしておきます。
hostsを使って名前解決
PCでウェブサイトにアクセスする際、まず「hosts」ファイルが参照されます。
そのため、「hosts」ファイルに検証サーバのIPアドレスとホスト名を登録しておけば、本番環境のサーバから検証サーバへアクセス先を変更して動作確認を行うことができます。
また、プライベートIPアドレスで運用しているWebサーバにも、好きな名前をつけてアクセスできるようになるため、開発やテスト作業がスムーズにできるようになります。
hostsファイルの場所
「hosts」ファイルは下記の場所にあります。
- Linux(UbuntuやCentOS等): /etc/hosts
- Windows10,11: C:¥Windows¥System32¥drivers¥etc¥hosts
設定書式
「hosts」ファイルの書式は下記のようになっています。
IPアドレス ホスト名
ホスト名とIPアドレスが以下の場合の設定例です。
- IPアドレス: 192.168.1.100
- ホスト名: www.example.com
192.168.1.100 www.example.com
初期状態で「127.0.0.1 localhost」といった設定がされていると思いますので、その形式を真似て設定を行ってください。
設定方法
「hosts」ファイルを編集するには管理者権限が必要になりますので、Linux、Windowsで編集を行う方法を説明します。
Linux(UbuntuやCentOS等)の場合
「sudo vi」を使って管理者権限を使い「/etc/hosts」ファイルを編集します。
$ sudo vi /etc/hosts
「su -」を使って編集する方法もあります
「su -」で管理者権限をもったユーザになって編集を行う方法もあります。
$ su - # vi /etc/hosts
rootアカウントがロックされている場合
「CentOS stream9」等は初期状態で「root」アカウントにパスワードが設定されておらず、アカウントがロックされていることがあります。
その場合単純に「su -」が出来ないので「sudo su -」と実行して管理者権限を使用できるようにする必要があります。
$ sudo su - # vi /etc/hosts
Windows11の場合
- 「スタートボタン」(Windowsのロゴ)をクリックし開かれたメニューの右上にある「すべて」をクリック
- メモ帳を検索して表示されたメニューの「メモ帳」アイコンを右クリックして「管理者として実行」を選択
- 「ユーザーアカウント制御」が表示された場合は「はい」をクリック
- メモ帳の上部メニューから「ファイル」-「開く」を選択
- 「C:¥Windows¥System32¥drivers¥etc」フォルダを選択
- 画面右下の表示する種類を「すべてのファイル」にして「hosts」ファイルを選択し「開く」ボタンをクリック
※2024.12.12手順に間違いがあったので修正しました
コメント