Web Proxyって、長い間色々使われている。大学では、Mosaicブラウザが日本語のEUCコード変換ができなかったので、変換用として、Delegateが設置されていた。過去にいた会社では、Socksプロキシが動いていて、海外にある本社のシステムと一部つながっていた。まぁ、本社のプリンタを使うくらしか用がなかったらしいけど。で、その後、SquidのWeb Proxyがあったり、Apache Webサーバで動くWeb Proxyがあったり。。。まぁいろいろあったなぁと思う。自分的には、色々なフィルタを使えるDelegateがおすすめなんだが。自分は、通過する画像を圧縮して、パケット転送量を下げるなんていうことをしていた。今はやっていないけど。
閑話休題
WindowsのWeb Proxyの設定について。まずは、お馴染みIEの設定。
まぁ、これで使っている人が多いと思う。設定を自動的に検出するがオン。
「この設定を自動的に検出する」というのは何かというと、端末がいるドメイン内に、wpad.datファイルが設置されると勝手に設定される。また、自動構成スクリプトを使用するをオンにして、管理者が作ったpacファイルを指定すると自動設定ができる。これらのファイルは、Javascriptで書かれている。まぁ管理者からすれば、Web Proxyの設定をばら撒けるので便利といえば便利。果たしてこの機能を使っているサイトはまだあるのかと思うが。。。ユーザとしては、都度、自動構成ファイルのURLを取りに行くと言う行為が発生しちゃっているので、個人利用の端末なら迷わずチェックオフだと思う。
プロキシサーバーは、俗に言うWeb Proxyサーバの設定。詳細設定はよほどのことがない限り設定しなくていいと思う。詳細設定の割には項目が足りない。その項目があっても必要とする人もあまりいないのだが。
さて、実は、WindowsのWeb Proxyの設定って大きく分けると2つ、細かく分けると3つがある。
- ユーザのプロキシの設定
- インターネットオプション(ログインユーザ)
まさしく上記の設定。ログインしているユーザのWeb Proxy設定。グループポリシーでも設定できる。(WPADファイルとかいらないじゃんw)たたし、あくまでもログインしたユーザの設定なのに注意
- サービスアカウントのWeb Proxy
サービスアカウントは、ログインユーザではないので、コントロールパネルにアクセスができず、設定ができない。Administratorの設定を変えてみている人もいるが、実は変更が適用できていない。サービスを起動しているシステムアカウントがインターネットに出る場合に設定したいケースで利用できる。
変更を適用するには、グループポリシーで配布してしまえば適用できるが、bitsadminコマンドで個別のサービスアカウントにプロキシの設定ができる。ただし、Windows Server 2016まではこんなメッセージが出てしまう。
2019以降だとこのメッセージは出ない。なんだろう。Stackover flowの書き込みだと、大丈夫という声もあるのだが。。。もし「大丈夫ってどこに書いてあったんですか??」議論になるのであれば、使うのをやめてもいいかもしれない。(人の判断能力って恐ろしいw)
詳しくは以下を参照
- コンポーネントのプロキシ設定
- WinHTTPの設定
WInHTTPは、あくまでも通信コンポーネントであって、ユーザのWeb Proxyの設定ではない。プログラムから参照されるプロキシ設定と思えばいい。この設定は、netsh winhttpコマンドで設定を変える。WinHTTPを使っていないアプリケーションはもちろんこの設定は影響しない。
詳しくは以下を参照
上記のように3種類のWeb Proxyの設定がある。用途や設定に応じて設定しないと正しくWeb Proxyを通過してくれない。また、3つの設定は、ログインユーザとサービスアカウントで参照の優先順序が異なる場合があるらしいので、設定をバラバラに入れることはおすすめしない。同じ設定を適用したほうがいい。
ややこしい。Web Proxyを設定したがうまく動かないという場合は、この3か所を確認することをおすすめする。