2.4 ou 1.5.18 : Tomcat 11 - : Tomcat 7 minimum (8.5 conseillée) et inférieure à 99
5 minimum (5.1.73 ou 5.5.34 conseillées) : Java 21 - :11 minimum (depuis la 1.6.0)| État |
|---|
| |
|---|
| colour | Green |
|---|
| title | Elasticsearch |
|---|
| 2 (pour pouvoir utiliser la partie "enseignant" de l'application)Configuration Apache | - Proxy PUSH
- Proxy AJP
- Module à charger : proxy_wstunnel_module
| Bloc de code |
|---|
| language | bash |
|---|
| theme | Eclipse |
|---|
| title | Règles de réécriture concernant le PUSH (httpd.conf) : v2 (nouvelle configuration) |
|---|
| RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^websocket$ [NC,OR]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule .* ws://<nom>.univ.fr:20130%{REQUEST_URI} [P,L]
# AJP vers Tomcat
ProxyPass / ajp://<nom>.univ.fr:20139/
#Toujours adapter le numero de port avec la conf tomcat du server.xml. Ici : 20130 pour le connecteur HTTP et 20139 pour le connecteur AJP |
| Bloc de code |
|---|
| language | bash |
|---|
| theme | Eclipse |
|---|
| title | En cas d'erreur "UnsupportedOperationException: La promotion (upgrade) HTTP n'est pas supporté par ce protocole" |
|---|
| RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteRule /(.*) ws://<nom>.univ.fr:20130/$1 [P,L] |
| Bloc de code |
|---|
| language | bash |
|---|
| theme | Eclipse |
|---|
| title | Règles de réécriture concernant le PUSH (httpd.conf) : v1 (ancienne configuration) |
|---|
| RewriteEngine on
RewriteCond %{QUERY_STRING} ^((?!X-Atmosphere-Transport=websocket).)*$
RewriteRule ^/PUSH(.*)$ http://<nom>.univ.fr:20130/PUSH$1 [P]
# PUSH
ProxyPass /PUSH ws://<nom>.univ.fr:20130/PUSH
ProxyPassReverse /PUSH ws://<nom>.univ-.fr:20130/PUSH
# AJP vers Tomcat
ProxyPass / ajp://<nom>.univ.fr:20139/
#Toujours adapter le numero de port avec la conf tomcat du server.xml. Ici : 20130 pour le connecteur HTTP et 20139 pour le connecteur AJP |
|
|---|
| Configuration MySQL | Créer une base vide dédiée à monDossierWeb |
|---|
Exemple de configuration HAProxy load-balancé sur 4 serveurs (avec gestion des ACLs via le fichier /etc/haproxy/acl/mdw) |
|---|
###### # Partie frontend ######
# Site mondossierweb
acl url_mdw hdr_end(host) -i mondossierweb.univ.fr
acl acl_mdw src -i -f /etc/haproxy/acl/mdw
acl ws_mdw hdr(Upgrade) -i WebSocket use_backend ws_mdw if ws_mdw url_mdw acl_mdw tcp-request inspect-delay 500ms tcp-request content accept if HTTP
use_backend www_mdw if url_mdw acl_mdw | ##### # Partie Backend ###### backend ws_mdw mode http option forwardfor option http-server-close option forceclose no option httpclose
# Cookie qui permet a chaque client de toujours utiliser le même backend cookie ULPWEBID insert nocache indirect # Algorythme de repartition de charge balance roundrobin acl hdr_connection_upgrade hdr(Connection) -i upgrade http-request deny if ! hdr_connection_upgrade # Liste des serveurs backend | pour le type nodejs
server back-lb1-mdw serveur1.univ.fr:20040 maxconn 3000 weight 10 cookie back-lb1-mdw check server back-lb2-mdw serveur2.univ.fr:20040 maxconn 3000 weight 10 cookie back-lb2-mdw check server back-lb3-mdw serveur3.univ.fr:20040 maxconn 3000 weight 10 cookie back-lb3-mdw check server back-lb4-mdw serveur4.univ.fr:20040 maxconn 3000 weight 10 cookie back-lb4 | -mdw checkbackend www_mdw # Cookie qui permet a chaque client de toujours utiliser le même backend cookie ULPWEBID insert nocache indirect option forwardfor reqadd xforwarded-proto:\ https # Algorythme de repartition de charge balance roundrobin # Liste des serveurs backend pour le type nodejs server back-lb1- serveur1.univ.fr:20040 maxconn 1000 cookie back-lb1-mdw weight 10 server back-lb2-mdw serveur2.univ.fr:20040 maxconn 1000 cookie back-lb2-mdw weight 10 check server back-lb3-mdw serveur3.univ.fr:20040 maxconn 1000 cookie back-lb3-mdw weight 10 check server back-lb4-mdw serveur4.univ.fr:20040 maxconn 1000 cookie back-lb4-mdw weight 10 check
|