creation role lb-front-ssl
This commit is contained in:
parent
80295cba99
commit
8d7c5f7cfb
22
roles/lb-front-ssl/README.md
Normal file
22
roles/lb-front-ssl/README.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Rôle lb-front
|
||||||
|
***
|
||||||
|
Rôle lb-front pour la répartition de charge des serveurs web sur WordPress avec HAProxy
|
||||||
|
|
||||||
|
## Tables des matières
|
||||||
|
1. Que fait le rôle lb-front ?
|
||||||
|
2. Ordre d'installation des serveurs.
|
||||||
|
|
||||||
|
|
||||||
|
## Que fait le rôle lb-front ?
|
||||||
|
|
||||||
|
Le rôle lb-front va installer `haproxy` pour le load balancing/la répartition de charge et va configurer le fichier `/etc/haproxy/haproxy.cfg`.
|
||||||
|
|
||||||
|
le fichier va faire du Round-Robin, un algoritme qui va équilibrer le nombre de requêtes entre s-lb-web1 et s-lb-web2.
|
||||||
|
|
||||||
|
le site web est accessibe à l'adresse <http://s-lb.gsb.adm>.
|
||||||
|
|
||||||
|
## Ordre d'installation des serveurs.
|
||||||
|
1. Le serveur s-lb avec haproxy qui va "initialiser" les sous-réseaux dans la DMZ.
|
||||||
|
2. Le serveur s-lb-bd qui va contenir la base de données WordPress utilisée par les serveurs web.
|
||||||
|
3. Le serveur s-nas qui va stocker la configuration WordPress et la partager aux serveurs web en NFS. Il va aussi utiliser la base de données sur stockée s-lb-bd.
|
||||||
|
4. Les serveurs s-web1 et s-web2 qui vont installer Apache2, PHP et afficher le serveur WordPress.
|
55
roles/lb-front-ssl/files/haproxy.cfg
Normal file
55
roles/lb-front-ssl/files/haproxy.cfg
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
global
|
||||||
|
log /dev/log local0
|
||||||
|
log /dev/log local1 notice
|
||||||
|
chroot /var/lib/haproxy
|
||||||
|
stats socket /run/haproxy/admin.sock mode 660 level admin
|
||||||
|
stats timeout 30s
|
||||||
|
user haproxy
|
||||||
|
group haproxy
|
||||||
|
daemon
|
||||||
|
|
||||||
|
# Default SSL material locations
|
||||||
|
ca-base /etc/ssl/certs
|
||||||
|
crt-base /etc/ssl/private
|
||||||
|
|
||||||
|
# Default ciphers to use on SSL-enabled listening sockets.
|
||||||
|
# For more information, see ciphers(1SSL). This list is from:
|
||||||
|
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
|
||||||
|
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
|
||||||
|
ssl-default-bind-options no-sslv3
|
||||||
|
|
||||||
|
defaults
|
||||||
|
log global
|
||||||
|
mode http
|
||||||
|
option httplog
|
||||||
|
option dontlognull
|
||||||
|
timeout connect 5000
|
||||||
|
timeout client 50000
|
||||||
|
timeout server 50000
|
||||||
|
errorfile 400 /etc/haproxy/errors/400.http
|
||||||
|
errorfile 403 /etc/haproxy/errors/403.http
|
||||||
|
errorfile 408 /etc/haproxy/errors/408.http
|
||||||
|
errorfile 500 /etc/haproxy/errors/500.http
|
||||||
|
errorfile 502 /etc/haproxy/errors/502.http
|
||||||
|
errorfile 503 /etc/haproxy/errors/503.http
|
||||||
|
errorfile 504 /etc/haproxy/errors/504.http
|
||||||
|
|
||||||
|
frontend proxypublic
|
||||||
|
bind 192.168.100.10:80
|
||||||
|
default_backend fermeweb
|
||||||
|
|
||||||
|
backend fermeweb
|
||||||
|
balance roundrobin
|
||||||
|
option httpclose
|
||||||
|
option httpchk HEAD / HTTP/1.0
|
||||||
|
server s-lb-web1 192.168.101.1:80 check
|
||||||
|
server s-lb-web2 192.168.101.2:80 check
|
||||||
|
|
||||||
|
|
||||||
|
listen stats
|
||||||
|
bind *:8080
|
||||||
|
stats enable
|
||||||
|
stats uri /haproxy
|
||||||
|
stats auth admin:admin
|
||||||
|
|
||||||
|
|
3
roles/lb-front-ssl/handlers/main.yml
Normal file
3
roles/lb-front-ssl/handlers/main.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
- name: restart haproxy
|
||||||
|
service: name=haproxy state=restarted
|
34
roles/lb-front-ssl/tasks/main.yml
Normal file
34
roles/lb-front-ssl/tasks/main.yml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
- name: install haproxy
|
||||||
|
apt:
|
||||||
|
name: haproxy
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: creer un certificat auto-signé
|
||||||
|
openssl_certificate:
|
||||||
|
path: /etc/haproxy/crt/haproxy.crt
|
||||||
|
privatekey_path: /etc/haproxy/crt/private/haproxy.pem
|
||||||
|
csr_path: /etc/haproxy/crt/csr/haproxy.csr
|
||||||
|
provider: selfsigned
|
||||||
|
|
||||||
|
- name: parametre backend et fontend
|
||||||
|
blockinfile:
|
||||||
|
path: /etc/haproxy/haproxy.cfg
|
||||||
|
block: |
|
||||||
|
frontend proxypublic
|
||||||
|
bind 192.168.100.10:80
|
||||||
|
bind 192.168.100.10:443 ssl crt /etc/haproxy/crt/pritvate/haproxy.pem
|
||||||
|
http-request redirect scheme https unless { ssl_fc }
|
||||||
|
default_backend fermeweb
|
||||||
|
|
||||||
|
backend fermeweb
|
||||||
|
balance roundrobin
|
||||||
|
option httpclose
|
||||||
|
option httpchk HEAD / HTTP/1.0
|
||||||
|
server s-lb-web1 192.168.101.1:80 check
|
||||||
|
server s-lb-web2 192.168.101.2:80 check
|
||||||
|
|
||||||
|
- name: redemarre haproxy
|
||||||
|
service:
|
||||||
|
name: haproxy
|
||||||
|
# state: restarted
|
||||||
|
enabled: yes
|
Loading…
x
Reference in New Issue
Block a user