序章

プロキシサーバーは、エンドユーザーとインターネットリソース間のゲートウェイとして機能するサーバーアプリケーションの一種です。 エンドユーザーは、プロキシサーバーを介して、プライバシー、セキュリティ、キャッシュなど、さまざまな目的でWebトラフィックを制御および監視できます。 たとえば、プロキシサーバーを使用して、自分のIPアドレスとは異なるIPアドレスからWeb要求を行うことができます。 また、プロキシサーバーを使用して、管轄区域ごとにWebがどのように提供されるかを調査したり、監視やWebトラフィックの抑制のいくつかの方法を回避したりすることもできます。

Squid は、安定した人気のあるオープンソースのHTTPプロキシです。 このチュートリアルでは、Ubuntu20.04サーバーにHTTPプロキシを提供するようにSquidをインストールして構成します。

前提条件

このガイドを完了するには、次のものが必要です。

このチュートリアルではドメイン名your_domainを使用しますが、これを独自のドメイン名またはIPアドレスに置き換える必要があります。

ステップ1—Squidプロキシをインストールする

Squidには、個々のユーザーのアウトバウンドトラフィックのルーティング以外にも多くのユースケースがあります。 大規模なサーバー展開のコンテキストでは、分散キャッシングメカニズム、ロードバランサー、またはルーティングスタックの別のコンポーネントとして使用できます。 ただし、通常はプロキシサーバーが関与するサーバートラフィックを水平方向にスケーリングするいくつかの方法は、アプリケーションのより多くのコンポーネントを分散するKubernetesなどのコンテナ化フレームワークによって人気が上回っています。 同時に、個々のユーザーがプライバシーを保護するために、プロキシサーバーを使用してWebリクエストをリダイレクトすることがますます一般的になっています。 これは、優先度の低いメンテナンスモードで数十の機能を備えているように見えるオープンソースプロキシサーバーを使用する場合に留意するのに役立ちます。 プロキシのユースケースは時間の経過とともに変化しましたが、基本的なテクノロジーは変化していません。

root以外のユーザーとして次のコマンドを実行して、パッケージリストを更新し、SquidProxyをインストールすることから始めます。

  1. sudo apt update
  2. sudo apt install squid

Squidは自動的にバックグラウンドサービスをセットアップし、インストール後に開始します。 サービスが正しく実行されていることを確認できます。

  1. systemctl status squid.service
Output
● squid.service - Squid Web Proxy Server Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-12-15 21:45:15 UTC; 2min 11s ago

デフォルトでは、Squidはクライアントがこのサーバーの外部からSquidに接続することを許可していません。 これを有効にするには、/etc/squid/squid.confに保存されている構成ファイルにいくつかの変更を加える必要があります。 nanoまたはお気に入りのテキストエディタで開きます。

  1. sudo nano /etc/squid/squid.conf

Squidのデフォルトの構成ファイルは非常に長く、#を行の先頭に置くことで一時的に無効にされた多数のオプションが含まれていることに注意してください。これは、[X226Xとも呼ばれます。 ]コメントアウト