ラベル squid の投稿を表示しています。 すべての投稿を表示
ラベル squid の投稿を表示しています。 すべての投稿を表示

2022年8月8日月曜日

Squid のタイムアウトを設定する方法

Squid のタイムアウトを設定する方法

概要

ssh などで実行時間が長いコマンドを投げる場合には Squid のタイムアウト時間も調整する必要があります

環境

  • Squid 3.5.27

設定項目

squid.conf に以下を記載します
以下は30分のタイムアウトに設定する方法です

connect_timeout 1800 seconds
read_timeout 30 minutes
write_timeout 30 minutes

paramiko などを使っている場合は timeout に合わせるといいと思います
paramiko だけ timeout を伸ばしても結局 Squid 側のタイムアウトが短いとコマンドを投げっぱなしになってしまい応答が返ってこなくなります

2020年11月19日木曜日

docker 上で squid を動かす

概要

前回 Ubuntu 上に squid を構築しました
今回は docker 上に構築してみたいと思います

環境

  • Ubuntu 16.04
  • docker 19.03.12

キャッシュ用のディレクトリ作成

squid がキャッシュした情報を永続化するためにホスト側にマウントします
ディレクトリは何でも OK です

  • mkdir /home/vagrant/cache

コンテナ起動

ではコンテナを起動します
先程作成したキャッシュ用のディレクトリを /var/spool/squid でマウントします

docker run --name squid -d --restart=always \
  -p 3128:3128 \
  -v /home/vagrant/cache:/var/spool/squid \
  sameersbn/squid:3.5.27-2

設定ファイルを使う

デフォルトだと http/https プロキシとして使えないので設定ファイルを変更します

  • mkdir /home/vagrant/config
  • vim /home/vagrant/squid.conf
http_access allow all
docker run --name squid -d --restart=always \
  -p 3128:3128 \
  -v /home/vagrant/config/squid.conf:/etc/squid/squid.conf \
  -v /home/vagrant/cache:/var/spool/squid \
  sameersbn/squid:3.5.27-2

使う

あとは普通に使うだけです
curl の場合は以下のように使えます

  • http_proxy=192.168.100.10:3128 https_proxy=192.168.100.10:3128 curl https://kaka-request-dumper.herokuapp.com/

設定ファイルをリロードするには

SIGHUP を送信します

  • docker kill -s HUP squid

おまけ: docker-compose で起動する

docker-compose で管理したい場合はこれを使いましょう

  • vim docker-compose.yml
version: '3'
services:
  squid:
    image: sameersbn/squid:3.5.27-2
    ports:
      - "3128:3128"
    volumes:
      - /home/vagrant/cache:/var/spool/squid
      - /home/vagrant/config/squid.conf:/etc/squid/squid.conf
    restart: always
  • docker-compose up -d

最後に

docker 上で squid コンテナを立ててみました
バージョンを上げたい場合はイメージを変更すれば動作すると思います

参考サイト

2020年10月27日火曜日

Ubuntu18.04 で squid をインストールして使ってみる

概要

サクッと Web Proxy がほしい場合には squid が簡単です
今回は Ubuntu で試してみました
squid のバージョンは若干古いです (執筆時の最新版は 4.13)

環境

  • Ubuntu 18.04 (on Vagrant)
  • squid 3.5.12

インストール

  • sudo apt -y update
  • sudo apt -y install squid

すべての http/https サイトにアクセスできるようにする

  • vim /etc/squid/squid.conf
http_access allow all
  • sudo systemctl daemon-reload

起動

  • sudo systemctl restart squid

動作確認

とりあえず curl で確認します

  • http_proxy=192.168.100.10:3128 https_proxy=192.168.100.10:3128 curl https://kaka-request-dumper.herokuapp.com/

Ruby でも確認してみます

  • vim test.rb
require 'net/http'

proxy_addr = '192.168.100.10'
proxy_port = 3128

res = Net::HTTP.new('kaka-request-dumper.herokuapp.com', nil, proxy_addr, proxy_port).start { |http|
  http.get('/')
}

puts res.body
  • ruby test.rb

ちゃんとプロキシを経由してもアクセスできることが確認できると思います

最後に

とりあえず Web プロキシがほしい場合は squid が簡単そうです
バージョンが古かったり詳細なセキュリティ設定はしていないので限られた環境であればこれくらいの設定でも十分機能すると思います