○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 件のコメント:
コメントを投稿