web-dev-qa-db-ja.com

Internet Explorerがhttp://wpad/wpad.dat auto-configを自動検出していない

私はこの問題に欲求不満に駆られています。

Wpad.datというファイル(基本的には、名前が変更されたproxy.pacファイル)を設定して、それを内部Webサイトに配置しました。ホスト名wpadがWebサーバーのCNAMEになるようにDNSエントリを設定しました。 Webサイトの.datファイルに適切なMIMEタイプを設定しました。 DNSグローバルクエリブロックリストからwpadを削除しました。

Internet Explorerの「自動構成スクリプトを使用する」を手動でhttp://wpad/wpad.datに設定した場合、プロキシが明確に使用されているため、構成ファイルが構文的に正しいことを知っています(つまり、ログファイルと特定のサイトにブラウジングが表示されるのがわかります。 veが私の代替ページを表示することを拒否しました。)

ただし、必要なのは[設定を自動的に検出する]チェックボックスをオンにすることだけであり、Internet Explorer自体がhttp://wpad/wpad.dat、またはより正確にはhttp://wpad.localdomain/wpad.datを探す必要があることを理解しています。また働く。

誰かがこの問題の診断を手伝ってくれる?私は何を逃したのか、何が間違っているのかがわかりません。

ありがとうございました !!

(注:DHCPを使用して自動構成ファイルを設定することもできますが、サーバーとルーターの混合によってDHCPを提供するマルチサイト組織と、非常に基本的な3Gセルラーモデムを使用するリモートオフィスがあります。 DHCP機能。さらに、DHCPを介したWebプロキシ自動検出をサポートしているとされるのはInternet Explorerのみです。FirefoxもSafariもサポートしていません。これらのブラウザーは実際には使用していませんが、互換性を最大化し、将来の管理/変更を容易にするためです。ニースの単一のDNSエントリを介してこれを機能させる方が確かに良いと思います。)

9

デビッド、

まだこの問題に直面している場合は、実際に修正するのはかなり簡単です。しかし、それはどこにも文書化されておらず、私の環境で整理するには何年もかかりました。あなたがしたことはすべて良いことであり、IEがWPAD情報を取得してWebサーバーに接続する方法のバグと呼んでいます。

まず、WPADにCNAMEレコードを使用することはできません。 Aレコードを使用します。ばかげて、私は知っています、そしてそれは何の違いももたらさないはずですが、それは間違いなく事実です。 DNSのCNAMEを削除し、WebサーバーのIPアドレスのAレコードを作成します。

次に、これはあなたにとってよりトリッキーかもしれません)、あなたは上記で割り当てたIPアドレスでリッスンしているデフォルトのウェブサイトのルートにあるWPAD.DATファイルを持っている必要があります。これが鍵です。 Host-headerフィールドなどでは機能しません。

説明:IEが行うことは、名前WPADをIPアドレスに解決することです。直接IPアドレスに解決できる必要があります。CNAMEクエリが別の名前に解決する場合、それは機能しません。したがって、IEがWPADが解決するIPアドレスを取得すると、実際には、http:// <> /WPAD.datに接続します。同じWebサイトに別のWebサイトが設定されている場合Webサーバー、ポート80でリッスンしますが、私が持っていたようにホストヘッダーフィールド(IE、「デフォルトのWebサイト」、および「WPAD Webサイト」)を使用すると、すべてが正しく設定されますが、機能しません。 WPAD.DATファイルのコピーをデフォルトのWebサイトのルートに置くと、問題が発生しなくなります。

もちろん、そのWebサイトのルートにアクセスできない場合(またはそのWebサイトのルートを保護できない場合)は、WPADサイトを別のサーバーに移動することを検討する必要があります。そのサーバーに割り当てられたIPアドレスのルート。

とにかくそれを試してください。それは私のために働いたプロセスです。それが機能するようになるまでに私は年齢を取りましたが、それは長い間、現在確実に機能しています。上記のすべては、WPAD.DATファイルに関連してIEがどのように機能するかについての私の理解であり、正しくない可能性があります。それは、自分の環境での動作の観察に基づいているだけです。あなたのものは異なるかもしれませんが、私は少なくともあなたの問題を修正することにいくらかお金をかけます。

乗り方を教えてください!マット:)

16
Matto

このserverfaultの質問はGoogle検索で高く表示されます。そのため、私はそれに返信しています。この問題が私にとって本当に苦痛だったので、他の人がこれが役に立つことを願っています。

約50ユーザーのドメインにあるほとんどすべてのWindows 7コンピューターが影響を受けました。私が懸念している限り、IEを回避してリセットすることは受け入れられなかったので、最終的に次のように解決しました。

最初に、私が出会ったリンクを見つけるのは非常に難しいが便利なカップルです:

http://blog.frankleonhardt.com/2011/wpad-and-windows-7-and-internet-Explorer-8/

http://kb.k12usa.com/Knowledgebase/Proxy-Auto-Detect-WPAD-Issues-With-IE-Windows-7

http://infratalk.wordpress.com/2011/09/10/troubleshooting-windows-proxy-autodiscovery-wpad/

最初に各リンクを読むことをお勧めします。

最初のリンクからの次の引用は特に興味深いものです。

「Microsoftの賢い人たちは、数回の試行が失敗した後、WPADサーバーのチェックを停止する機能を実装していることがわかりました。ローミングマシンがオンになっているネットワークを知っていると考え、そうでない場合はレジストリにメモを残します再検討する必要はありません。実装したばかりの場合は、非常に多く使用されます。」

リンクに記載されているwpad regキーを見つけました。これは実際にGoogleでリンクを見つけた方法です。テスト中に冷酷になり、次のように機能することがわかりました。

すべてのIEセッションを閉じ、コントロールパネルを開き、[インターネットオプション]、[接続]タブ、[LANの設定]の順に選択し、[設定を自動的に検出する](およびその他のすべてのオプション)のチェックを外します-IEを再度開かないでください。

次のレジストリキーを削除します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad

[コントロールパネル]-> [インターネットオプション]-> [接続]タブ-> [LANの設定]と[TICK "設定を自動検出"]を開きます。

Regeditウィンドウ(F5)を更新すると、再作成されたwpad regキーが表示されますが、空になります。

IEを開きます。 wpad regを再度更新すると、さまざまなwpad情報を含むサブキーが表示されます。

これはIEをリセットする必要のない修正でしたが、なんとかして50台のマシンに展開する必要がありました。私はそれを次のように行いました:

上記のようにリセットしたコンピューターを使用して次のregを作成しました(ドメインに基づいて作成され、ドメイン名を編集したため、このままの形でコピーしないでください)。wpadOverride行が手動で追加されました。

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad]
"WpadLastNetwork"="{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}"
"WpadOverride"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\a4-0c-c3-62-7b-2d]
"WpadDecisionReason"=dword:00000000
"WpadDecisionTime"=hex:10,50,19,cf,b1,73,cc,01
"WpadDecision"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}]
"WpadDecisionReason"=dword:00000000
"WpadDecisionTime"=hex:10,50,19,cf,b1,73,cc,01
"WpadDecision"=dword:00000001
"WpadNetworkName"="example.local"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}\a4-0c-c3-62-7b-2d]

これはユーザーログインスクリプトに追加され、基本的にはregキーを削除して置き換えます。

次に、GPOを作成して「設定を自動的に検出」を無効にし、手動でwpadのURLを追加しました。

ユーザー設定->ポリシー-> Windows設定-> Internet Explorerメンテナンス->接続->自動ブラウザ設定| 「構成設定を自動的に検出する」のチェックを外し、「自動構成を有効にする」にチェックを入れ、「自動構成URL」に「 http://wpad.example.local/wpad.dat 」を挿入します。

「IE WPAD Decision Caching Override」も有効にしました(上記の2番目のリンクを参照)。

次に、これを数日間放置して、できるだけ多くのコンピューターに展開し、「自動構成URL」を無効にして、「構成設定を自動的に検出する」を再度オンにし、ログインスクリプトからregキーを削除しました。

これは、GPOを介して[構成設定を自動的に検出する]チェックボックスをオフにしてからオンにしても機能しないようで、最終的にURLを追加する必要がない場合があるためです。

WpadOverrideが追加の手順なしで機能することを期待していましたが、残念ながら私の場合は機能しませんでした。

ちなみに、cnameの使用は、ネットワーク上で完全に機能します。

修正中に電源が切れたコンピュータは、その後手動で処理されただけです。

これが私がグーグルを介してしたようにこの質問に出くわす他の人を助けることを願っています。 Microsoftによるこの「機能」は、まったく愚かです。

3
jelloir

IE8でこれを解決する別の方法(IE7でも機能する可能性があります)は、グループポリシーのいくつかの設定を変更することです。

  • コンピューターの構成>管理用テンプレート> Windowsコンポーネント> Internet Explorer>コンピューターごとに(ユーザーごとではなく)プロキシ設定を行う=有効
  • ユーザーの構成>管理用テンプレート> Windowsコンポーネント> Internet Explorer>自動プロキシスクリプトのキャッシュを無効にする=有効

上記の2つの設定を変更すると、WPAD設定をIE8で機能させることができました。

注:これを使用するためにドメイン環境にいる必要はありません。ワークグループPCでは、GPEDIT.MSCを使用してローカルコンピュータポリシーを変更するだけです。

参照: Internet Explorerで自動プロキシキャッシュを無効にする方法

よろしく、キム

3
Kym Busby

もう1つの注意点は、次のURLで詳しく説明されています。 https://technet.Microsoft.com/en-au/library/cc995158.aspx

DNSではブロックリストが有効になっていて、wpadがブロックされたレコードとして定義されている場合があります。これは保護策です。

2

私はまったく同じ問題を抱えていましたが、数台のコンピューターだけでした...

Wiresharkは、IEがターゲットWebサーバーに到達する前にネットワーク上で何も試みないことを示しました。Hostwpadに設定されているWebサーバーは、その特定のIPアドレスのホスト名に応答します。

次のようにして、動作していないIE8クライアントにwpad.datを再度ダウンロードさせました。

  1. [ツール]-> [インターネットオプション]-> [詳細設定]-> [リセット]
  2. クローズIEとそれを再び開いた

残念ながら、wpad.datファイルに変更を加えた後、wpad.datの最初のダウンロード後のIE8がそれ以上のダウンロードを行わないことは明らかです:-(

2
user19464

IEバージョン6.0.2900.xxxxは、「wpad.dat」ではなく「wpad.da」というファイル名を探します。注意が必要です。 ;)スニファーを使用するか、ウェブサーバーのログを確認してください。

お役に立てれば!

1
Pangu

クライアントマシンでWiresharkを実行してみてください。IE=がどこを探しているかを確認してください。Webサーバーは、Wpadを提供したことをログに記録していますか?

1
Tom Newton

Internet Explorerは「 http://wpad.your-machine 's-dns-suffix.com/wpad.dat」へのアクセスを試みます。 wpad.datファイルを提供するように構成されているWebサーバーが完全修飾ホスト名に応答していることを確認してください。 (ところで、IEは、各親ドメインを試行するDNSサフィックスも分解します。 http://wpad.com を参照してください。そのドメインを所有している人彼がしたかったら、本当に、本当に悪かったかもしれない...)

1
Evan Anderson

DHCPを使用している場合は、wpadファイルの場所を宣言するための設定(オプション252、IIRC)があります。私はあなたがFirefoxがこれを使用することができないことについて間違っていると思います。

さらに、検索リストにローカルドメインがありますか?

0
Greeblesnort

Tom NewtonがWiresharkを実行してIE=が何をしているのか(DNSクエリ、HTTP GETなど))を確認するよう提案しているので、Webサーバーのログも確認してください。
仮想ホスト「wpad」を使用できないように、GETクエリでIEホスト名(wpad)の代わりにIPを「ホスト」として送信するように注意してくださいウェブサーバー。

0
radius

この方法は私にとってうまくいきます

   1. Tools->Internet Options->Advanced->Reset
   2. Closed IE and re-opened it

IE8は私を多く混乱させると思います。MSからのものですが、なぜそれが正しく機能しないのですか? Firefoxは非常にうまく機能しますが。

0
user50941