ホスト ファイルを使用せずにドメイン名解決を一時的に上書きするにはどうすればよいですか?

ホスト ファイルを使用せずにドメイン名解決を一時的に上書きするにはどうすればよいですか?

同じ Web サイトの 2 つのバージョンが異なる IP 上に存在しています。1 つは本番環境で、もう 1 つはステージング環境です。

運用サーバーは、Site5 によって完全に管理されます。DNS はfoo.comSite5 のサーバーに解決されるように設定され、残りの処理は Site5 が行います。

ステージング サーバーは EC2 インスタンスであり、Apache は名前ベースの仮想ホストを使用してセットアップされていますfoo.com

開発者としてステージング バージョンで作業する必要がある場合は、hosts次のようにファイルを変更します。

foo.com    1.2.3.4    # the elastic IP associated with my EC2 instance

そのため、ブラウザで にアクセスするとfoo.com、ステージング バージョンが表示されます。実稼働バージョンを表示したい場合は、その行をコメント アウトします。

これは私にとってはまったく問題ありませんが、チームの他の人たちはそれほど技術に精通しておらず、ターミナルを恐れています。

これを行うより良い方法、できればターミナルやその他の「恐ろしいもの」に飛び込む必要がない方法はありますか?

ステージング バージョンを表示するかどうかを選択できるプロキシ サーバーがあるでしょうか?

答え1

IP アドレスを使用してアクセスするか、一意のドメイン名を使用します。Web サイト内のすべてのリンクは相対的である必要があります。そうでない場合、別のドメインでホストされているとサイトも壊れます。

答え2

Windows でホスト名の解決をオーバーライドするには、hosts ファイル (notepad.exe を使用) を編集するのが最も簡単で素早い方法です。コマンド ラインの代替手段は、より長くて複雑になります。

一時的なものにしたい場合は、hosts ファイルを開いたままにして、変更を加えたら保存するだけです。

答え3

私が過去にこの問題を解決した方法の一つは、翻訳元

Apacheを追加することも可能SeverAliasサーバー上のディレクティブは次のようになります:

ServerName foo.com
ServerAlias 1.2.3.4.xip.io 

WordPress サイトで引き続き配信することもできます (WP の設定をどの程度洗練させているかによって異なります)。

もちろん、欠点は、これがまだ少しわかりにくいことです。少なくとも、hostsファイルを編集するよりも技術的な知識はそれほど必要ありません。お役に立てれば幸いです。

関連情報