○Apache
sudo nano -wci /etc/apache2/apache2.conf
...
%h -> %{X-Forwarded-For}i
...
説明:ログに記録するIPアドレスはLBアドレスではなく、クライアントIPを記録する
sudo nano -wci /var/www/check.txt
sudo nano -wci /etc/apache2/sites-available/default
...
SetEnvIf Request_URI "^/check\.txt$" dontlog
CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog
...
説明:check.txtチェックをログに残さない
○HAProxy
sudo apt-get install haproxy
sudo nano -wci /etc/haproxy/haproxy.cfg
... listen www 0.0.0.0:80 mode http stats enable stats auth admin:admin balance roundrobin cookie JSESSIONID prefix option httpclose option forwardfor option httpchk GET /check.txt HTTP/1.0 option log-health-checks server web1 192.168.1.1:80 cookie A check inter 2000 fall 3 server web2 192.168.1.2:80 cookie B check inter 2000 fall 3 ...
sudo nano -wci /etc/sysctl.conf
...
net.ipv4.ip_nonlocal_bind=1
...
説明:仮想IPにバンディングできるように設定する(この例は仮想IPが使わないです)
sysctl -p
sudo nano -wci /etc/default/haproxy
ENABLED=1
説明:OS起動時にHAProxyが自動起動する
○pound(ssl)
HAProxy現バージョンはSSLをサポートしていないため、poundを利用してSSL負荷分散にする
sudo apt-get install pound
sudo nano -wci /etc/default/pound
...
startup=1
...
sudo nano -wci /etc/pound/pound.cfg
... ListenHTTP Address 192.168.1.1 Port 80 Service Redirect "https://www.testdomain.com" End End ListenHTTPS Address 192.168.1.1 Port 443 Cert "/etc/pound/sslkey/pound.pem" Client 30 Service BackEnd Address 192.168.1.2 Port 80 End BackEnd Address 192.168.1.3 Port 80 End Session Type Cookie ID "JSESSIONID" # Type IP TTL 180 End End End ...
メモ:
pound.pemはCRTとPRIKEY両方が必要です。
例:
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
○varnish(HTTPアクセラレータ)
sudo apt-get install varnish
sudo nano -wci /etc/default/varnish
...
#DAEMON_OPTS="-a :6081 \
DAEMON_OPTS="-a :8080 \
...
sudo nano -wci /etc/varnish/default.vcl
... backend default { .host = "127.0.0.1"; .port = "80"; } ...
■varnishlog
sudo nano -wci /etc/default/varnishlog
...
VARNISHLOG_ENABLED=1
...
■varnishncsa
sudo nano -wci /etc/default/varnishncsa
...
VARNISHNCSA_ENABLED=1
...
sudo service varnish restart
sudo service varnishlog restart
sudo service varnishncsa restart
0 件のコメント:
コメントを投稿