ブラウザが使用するDNSレコードを設定したいのですが、ルートアクセス権がないため、/etc/hosts
を変更できません。 Apacheでvhostsをテストするためにこれを行う必要があります。そのDNSはまだセットアップされていません。私はfirefoxとchromeにアクセスできるので、それを容易にするプラグインがあれば。または他のオプションが役立ちます。
pdate: DNSを上書きする代わりに、おそらくHTTPヘッダーを変更しています。正しいヘッダーがApacheに送信された場合、正しいコンテンツが返されます。
テストのために、DNS解決を変更したプログラムを実行する方法を探していました。私にとって、解決策はHOSTALIASES
環境変数を使用することでした:
_$ echo "foo www.google.com" >> ~/.hosts
$ HOSTALIASES=~/.hosts wget foo
_
hostname(7)
を参照してください。
(注意:この例では、HOSTALIASES
環境変数はwget
プロセスにのみ影響します。もちろん、_export HOSTALIASES
_を使用して、現在のシェルのすべてのサブプロセスに影響を与えることができます。 )
Libc関数のラッパーを記述してホスト名を解決し、/ etc/hostsとは異なるファイルでそれらを検索できます。次に、hostsファイルを使用するアプリケーションを実行します
LD_PRELOAD=wrapper.so firefox
これを行う最良の方法は、SOCKS5プロキシをセットアップし、FirefoxにSOCKS5プロキシ(network.proxy.socks_remote_dns)経由でDNSリクエストを送信するように指示することです。 opensshでsocks5プロキシをかなり簡単にセットアップでき(-Dオプション)、カスタムの/ etc/hostsまたは DNSMasq などのリモートホストを実行して、より複雑なDNS設定を行うことができます。ただし、これにより、DNS設定の構成がシステム全体に反映され、システム全体に変更を加えることができます。
スーパーユーザーで次の質問をチェックしてください:
https://superuser.com/questions/184643/override-dns-in-firefox
議論されたオプションとSOリンクが実行可能な解決策でない場合は、以下を確認してください。
https://superuser.com/questions/100239/hostname-override-in-firefox
特にチェックアウト:
https://addons.mozilla.org/en-US/firefox/addon/redirector/
このアドオンが役立つと思われますが、実際の実装に依存しています。
Vhostsをテストするには、ApacheサーバーをFirefoxのプロキシとして設定します。入力した名前はApacheに転送されます。これにより他のサイトの閲覧が中断されるため、完了したらプロキシを元に戻します。
数週間ごとにIPを変更し続けるサーバーのsshやscpなどにも同様のものが必要でした(私たちのITではホストの設定に数週間の遅延があります)。このサーバーの特別な変数を使用して解決しました:export FOO='131.227.aaa.bbb
そして、私はssh bar@$FOO
と私は~/.bashrc
いつでも変更されます...