キャッシュサービスSquidの概要

5079 ワード

1.Squidって何?
Squidは、FTP、gopher、HTTPプロトコルをサポートする高性能のプロキシキャッシュサーバです.一般的なエージェントキャッシュソフトウェアとは異なり、Squidは、すべてのクライアント要求を個別の非モジュール化I/O駆動プロセスで処理する.SquidはほとんどのUnixとOS/2バージョンのシステム上で動作し、Windows、AIX、Digital Unix、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solarisが知られています.
初期バージョン1996年7月安定バージョン3.5.27(2017年8月19日、8日前)プレビューバージョン4.0.21(2017年7月2日、56日前)
2.主な機能
  • は、ソース局の圧力を分担してアクセス速度を速める目的で、Webサイトのコンテンツをキャッシュします.
  • ホットスポットキャッシュは、アクセス熱が設定レベルに達したWebサイトのコンテンツのみをキャッシュします.
  • はソースをマージし、複数の同じリクエストは一度だけソースに戻ります.

  • ACLアクセス制御は、ソースIP、宛先IP、ドメイン名、URL、アクセス時間、単一最大接続数に対してアクセス動作を制限することができる.または、外部プログラムを使用してアクセス者(proxy_auth)を検証します.
  • 主なサポートプロトコル:HTTP、HTTPS、FTP
  • Webコンテンツの改ざんは、必要に応じてWebコンテンツを改ざんすることができます.
  • ウェブサイトのヘッダ改ざんは、必要に応じてヘッダを改ざんすることができる.
  • は、異なるドメイン名またはurlに対して異なるキャッシュルールを構成することができる.

  • 3.シーンの適用
  • ポジティブエージェント(ローカルゲートウェイ)
  • 順方向エージェントの典型的な用途は、ファイアウォール内のローカルエリアネットワーククライアントにインターネットにアクセスする方法を提供することである.
  • 順方向エージェントはまた、キャッシュ特性を使用してネットワーク使用率を低減することもできる.
  • 順方向エージェントは、クライアントが任意のWebサイトにアクセスし、クライアント自体を非表示にすることを許可しているため、許可されたクライアントのみにサービスを提供するためのセキュリティ対策を講じる必要があります.

  • 透明エージェント(cdn、ネットワーク事業者のメインホストルームに架設)
  • は、各地域の訪問者のアクセス速度を向上させる.
  • ソースステーションの圧力を低減します.
  • は、ネットワーク事業者のネットワーク間決済費用を削減する.
  • は、ネットワーク事業者の帯域幅リソースを節約します.

  • リバースエージェント(Webサイトのフロントエンド)
  • は、ソース・サーバの負荷を低減します.
  • ソース局の実際のipを非表示にします.


  • 4.キャッシュステータスログ
  • TCP_HIT Squidは、要求されたリソースの新鮮なコピーを発見し、クライアントに直ちに送信する.
  • TCP_MISS Squidはリソースのcacheコピーを要求していません.
  • TCP_REFERSH_HIT(squid 3.0をTCP_REFRESH_UNMODIFIEDに変更)Squidは、要求リソースの古いコピーのように見えることを発見し、元のサーバに確認要求を送信する.元のサーバは、squidのコピーが依然として新鮮であることを示す304(変更されていない)応答を返す.
  • TCP_REF_FAIL_HIT Squidは、要求リソースの古いコピーを発見し、元のサーバに確認要求を送信する.しかしながら、元のサーバの応答が失敗したり、返された応答Squidが理解できない.この場合、squidは、既存のcacheコピー(古い可能性が高い)をクライアントに送信する.
  • TCP_REFRESH_MISS(squid 3.0をTCP_REFRESH_MODIFIEDに変更)Squidは、要求リソースの古いコピーを発見し、元のサーバに確認要求を送信する.元のサーバは新しいコンテンツに応答し、このcacheコピーが確かに古いことを示します.
  • TCP_CLIENT_REFRESH_MISS Squidは要求リソースのコピーを発見したが,クライアントの要求にはCache-Control:no-cache命令が含まれている.Squidはクライアントの要求を元のサーバに転送し,cacheに確認を強要する.
  • TCP_IMS_HITクライアントは確認要求を送信し,Squidはより最近の,新鮮な要求リソースのコピーを発見した.Squidは、元のサーバに連絡することなく、更新されたコンテンツをクライアントに送信します.
  • TCP_SWAPFAIL_MISS Squidは、要求されたリソースの有効なコピーを検出しましたが、ディスクからのマウントに失敗しました.このときsquidは、cacheが失われたように元のサーバに要求を送信します.
  • TCP_NEGATIVE_HITが元のサーバへの要求によってHTTPエラーが発生した場合,Squidもこの応答をcacheする.これらのリソースに対する短い時間での繰り返し要求により、Noヒットが発生しました.negative_ttl命令は、これらのエラーがcacheされる時間の数を制御する.これらのエラーはメモリcacheのみで、ディスクには書かれません.次のHTTPステータスコードは、204、305、400、403、404、405、414、500、501、502、503、504の否定cacheをもたらす可能性がある.
  • TCP_MEM_HIT Squidはメモリcacheに要求リソースの有効なコピーを発見し,直ちにクライアントに送信する.この点は、メモリ・サービスからのすべての応答を正確に示すものではないことに注意してください.たとえば、一部のcacheはメモリにありますが、確認を求める応答はTCP_REFRESH_HIT, TCP_REFRESH_MISSなどの形式で記録する.
  • TCP_DENIEDだってhttp_アクセスまたはhttp_reply_アクセスルールでは、クライアントのリクエストが拒否されました.http_アクセス拒否要求の第9ドメインでの値はNONE/-であるがhttp_reply_アクセスが拒否したリクエストには、対応する場所に有効な値があります.
  • TCP_OFFLINE_HIT当offline_modeがアクティブになると、Squidは任意のcache応答に対してcacheヒットを返し、その新鮮さを考慮しない.
  • TCP_REDIRECTリダイレクトプログラムはSquidにHTTPリダイレクトを新しいURIに生成することを教える(11.1節参照).通常、Squidはこれらのリダイレクトを記録しません.そうするには、squidをコンパイルする前に、LOG_を手動で定義する必要があります.TCP_REDIRECTS前処理命令.
  • NONE分類なしの結果は、無効なホスト名などの特定のエラーに使用されます.
  • UDP_HIT Squidはcacheで要求リソースの新鮮なコピーを発見した.
  • UDP_MISS Squidはcacheで要求リソースの新鮮なコピーを発見しなかった.同じターゲットがHTTPリクエストを通過すると、cacheが失われる可能性があります.UDPを比較してくださいMISS_NOFETCH.
  • UDP_MISS_NOFETCHとUDP_MISSと同様に,ここでもSquidが対応するHTTPリクエストを処理したくないことを示している.-Yコマンドラインオプションが使用されている場合、Squidはメモリインデックスを起動してコンパイルすると、UDP_ではなくこのラベルを返します.MISS.
  • UDP_DENIEDはicpのためアクセスルール、ICPクエリが拒否されました.あるクライアントへのICP応答の95%以上がUDP_である場合DENIEDは、クライアントデータベースがアクティブ化され(付録A参照)、Squidは1時間以内に、クライアントへのICP応答の送信を停止する.もしこれが起こったら、あなたもcacheにいます.ロゴに警告が表示されます.
  • UDP_INVALID Squidは、無効なクエリー(たとえば、切断されたメッセージ、無効なプロトコルバージョン、URIのスペースなど)を受け入れます.Squid送信UDP_INVALIDはクライアントに応答する.

  • 5.squidclientとは何ですか.
    squidclientは、URLを取得するためのコマンドラインツールです.HTTP 0.9,1.0または1.1のWebサーバまたはエージェントをテストするために設計されています.このツールは、スクリプトと組み合わせて、基本的なHTTP操作を実行できます.squidエージェントオブジェクトのキャッシュおよび管理情報にアクセスするための追加機能がいくつか用意されています.
    6.aquidclientのインストール
  • DebianまたはUbuntuで#apt-get install squidclient
  • RedhatまたはCentosでyum install squidclient
  • 7.常用squidclientコマンド
    squidclient -h              #    
    squidclient -p 80 mgr:info      #  squid      
    squidclient -p 80 mgr:mem     #  squid      
    squidclient -p 80 mgr:objects   #  squid       (    ,       )
    squidclient -p 80 mgr:diskd  #  squid       
    squidclient -p 80 -m PURGE http://www.php-oa.com/static.php  #      url
    squidclient -p 80 mgr:io        #  squid io  
    squidclient -p 80 mgr:ipcache       #  squid   dns    
    squidclient -p 80 mgr:info|grep Aver    #       
    squidclient http://www.baidu.com/100.html   #    
    squidclient -p 80 mgr:traffic       #    
    squidclient -p 80 mgr:404           # 5   404       
    squidclient -p 80 mgr:status        # 5