ドメインを別のドメインにローカルにリダイレクトするにはどうすればよいですか?


26

/ etc / hostsファイルは次のようになります。

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

最初の2つの作業。最後のものはそうではありません。何故なの?動作させるにはどうすればよいですか?私がこれをしている理由は、ローカルネットワーク上にあるテストサーバー(othersite.com)があるためですが、IPは異なる場合があります。例:10.20.7.98ある日、10.20.7.35別の日など。

だから、どのようにしてシステムが常にtestsitebeta.devをothersite.devと同じIPに解決するのですか?

回答:


11

クリスがすでに書いたように、問題は「othersite.dev」が数字ではないことです。必要な形式はIP hostname1 [hostname2] [hostname3]です。

ただし、より深い問題は、ホストファイルについての誤解であり、一般的なDNSについての誤解です。基本的に、ホストファイルはリダイレクト用に設計されていません。これは、CPUが高価な場所でサイクルしたときからのシンプルなソリューションでした。手動でファイルを編集することなく、急速に変化するIPアドレスに適応する機能などの機能が欠けていました。これらの問題は、ホストファイルからネットワークベースのリゾルバシステムに切り替えることで解決しました。

したがって、あなたの問題に対する本当の答えはを使用することではなく/etc/hosts、代わりにこの階層的な分散命名システムを使用することです。それにはいくつかの方法があります。1つの方法は、Chrisが提案したCNAMEです。別の方法は、2番目のサーバーに固定IPアドレスを与えることです。両方とも実際の静的アドレス、またはDHCPサーバーで予約を行います。


1
私が探している種類の答えではありません。これは開発用です。ドメイン名(testsitebeta.dev)はローカル以外のどこからでもアクセスできる必要がないため、他のマシンを変更したくありません。私は自分のコンピューターに「名前XをYのように扱う」と伝える方法が欲しいだけです。
ベヌバード

3
その場合、ローカルDNSサーバーをインストールし、それをリゾルバーとして使用します。
ヘネス14

4
ローカルDNSサーバーが解決策のようです。将来の訪問者にとって、これは役に立つと思いました:superuser.com/q/45789/75287
Benubird 14

@Benubird:私も同じ解決策を探しています。しかし、それを得ることができませんでした。設定方法をもう少し説明できますか?
ジェイチャクラ

3

/ etc / hostsの形式は「IP」「Hostname」です-のような 127.0.0.1 localhost

必要なCNAMEものを実現するには、ローカルDNSサーバーにが必要です。「othersite.dev」のIPを取得し、「testitalpha.dev」で行ったように「testitbeta.dev」にリンクすることもできますが、そのIPを変更した場合は、/etc/hostsファイルも変更する必要があります。


1

othersite.comに動的IPがあり、常に名前でアクセスできる場合、常に名前で参照することにより、登録されたDNSに依存する必要があります。

あなたの解決策は、testsitebeta.devをothersite.comのリダイレクトURLにすることです。

ServerName testsitebeta.dev Redirect / http://othersite.com

このように、othersite.comは常に機能し(不正なホストエントリで破損することはありません)、testsitebeta.devは、名前を正しいIPに解決することによって、常にothersite.comにリダイレクトされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.