ブラウザが使用するDNSレコードを設定したいのですが、rootアクセス権がないため変更できません/etc/hosts
。 DNSがまだ設定されていない仮想ホストをテストするためにApacheを使用するには、これを行う必要があります。私はFirefoxとChromeを使うことができるので、それを単純化するためのプラグインや役に立つ他のオプションがあれば。
修正する:DNSをオーバーライドする代わりに、HTTPヘッダーを変更する方法があります。正しいヘッダーがApacheに送信されたら、正しいコンテンツを返す必要があります。
答え1
テスト用に変更されたDNS検証を使用してプログラムを実行する方法を探しています。私にとって、解決策はHOSTALIASES
環境変数を使用することでした。
$ echo "foo www.google.com" >> ~/.hosts
$ HOSTALIASES=~/.hosts wget foo
望むよりhostname(7)
。
(注:例では、HOSTALIASES
環境変数はwget
プロセスにのみ影響します。もちろん、export HOSTALIASES
現在のシェルのすべての子プロセスに影響を与えることもできます。)
答え2
libc関数の周りにラッパーを作成してホスト名を解決し、/ etc / hosts以外のファイルにあります。次に、ホストファイルを使用するアプリケーションを実行します。
LD_PRELOAD=wrapper.so firefox
答え3
私の考えの最善の方法は、SOCKS5プロキシを設定し、FirefoxにSOCKS5プロキシ(network.proxy.socks_remote_dns)を介してDNS要求を送信するように指示することです。 openssh(-Dオプション)を使用してocks5プロキシを非常に簡単に設定し、カスタム/ etc / hostsなどを使用してリモートホストを実行できます。DNSマスクより複雑なDNS設定の場合。ただし、実際には、システム全体を変更できるシステムにDNS設定構成をプッシュします。
答え4
仮想ホスティングをテストするには、Firefox で Apache サーバーをプロキシとして設定できます。入力した名前はApacheに渡されます。これにより他のウェブサイトの閲覧が中断されるため、完了したらプロキシをリセットしてください。