Windows版Squidについて2017/09/09SquidWindowsラズパイでSquid立ててからもプロキシサーバSquidについてはいろいろ勉強してます。きょうはWindows版のSquidについて。Windows版はドキュメント少ないわ古いわで動作検証が大変でした。Windows版SquidについてSquidは*nix系で動作するサーバアプリですが、Windows上でも動かすことができます。評価版)でもやってみました。インストーラをおとしてインストール。Trayはゴミ箱につっこみましょう。簡単な管理ツールなんだけど簡単すぎて柔軟に設定ができません。Terminalは、起動するディレクトリがSquidのインストールディレクトリに、文字色が白から緑に変更されたただのコマンドプロンプトなので、残してもいいですが消してもいいです。*nix版とWindows版のちがいまず一つ目がディレクトリについて。デフォルトだとC:\Squid\がインストールディレクトリであり、ここにSquid関連のものが配置されています。ルートディレクトリがC:\Squid\な*nixだと思えば大丈夫です。Linuxでは/etc/squid/squid.confとして配置する設定ファイルは、WindowsではC:\Squid\etc\squid\squid.confとして配置します。二つ目がパス区切り文字について。WIndowsのパス区切り文字はバックスラッシュであり、*nix系ではスラッシュです。コマンドプロンプトの操作はバックスラッシュ、squidコマンドの引数や各種設定ファイル内のディレクトリ記述はスラッシュにするようにしてください。三つ目はサービス管理について。Linuxでいうserviceやsystemctlなどのデーモン管理コマンドはWindows版Squidでは当然使えません。起動/終了は、C:\Squid\bin中のコマンドsquidを直接叩くことになります。-iでSquidをWindowsのサービスとして登録することもでできたみたいですが、今やるとそんなオプションないよと怒られる。サービス化ができないのでバックグラウンドでの実行ができず、そのためSquid起動中は何も表示されない真っ黒なコマンドプロンプト画面が別窓で表示され続けます。不気味だし不用意にバッテン押しちゃったらSquidも止まっちゃうし不便。このWIndowsサービス化はちょっと宿題にします。https://www.serotoninpower.club/archives/278この3つ以外は*nix版とほとんど同じです。Linuxで使ってた設定ファイルをWindows版にコピペしても問題なく動きます。前回の記事の広告ブロック用プロキシの設定ファイル持ってきて、デスクトップのWindowsにSquid入れてローカルプロキシにするなんてこともできます。Squidコマンドのオプションnオプション:プロセス名を指定。デフォルト値:squidfオプション:設定ファイル名を指定。ちなみに*nixでも以下のコマンドオプションは同じです。ラズパイのあれはほぼ全部デフォルト値だったのでserviceモジュールでやっちゃったけど(って書いてから気付いて調べたけどAnsibleってsystemdモジュールあるんじゃん)。shutdown123456789101112起動が完了すると最終的にこんな画面になります。右の緑のコマンドプロンプトがSquidを操作している画面で、左後ろの真っ黒い画面がSquidプロセスが動作している窓。所感Windows版はどうも動作不安定で、ちょっとコマンド間違えるとハングするなんてことざらで軌道に乗るまでしんどかったです。なんでわざわざWindowsでやらないといけないんだろう......(察してください)。ちなみにSquidはフォワードプロキシとして有名ですが、これをリバースプロキシとして構築し、さらに別プロセスでフォワードプロキシも同時に動かすなんてこともやってみたので別記事であげます。後回しになってるけどAnsibleについてもブログ書いて言葉に起こして知識整理したい。