Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Volet
borderColor#4080a4
bgColor#FFFFFF
titleColor#f9fafa
borderWidth1
titleBGColor#628DB6
titleSocle technique

État
colourGreen
titleapache
 2.4

État
colourGreen
titletomcat
8 minimum (8.5.65 conseilléminimum).

État
colourGreen
titlemysql
5.5 minimum (5.5.34 conseilléesminimum) - Encodage conseillé : character_set_server = utf8mb4, collation_server = utf8mb4_unicode_520_ci (ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci)

État
colourGreen
titleJava
11 (openjdk-11.0.11 conseillé minimum)

État
colourGreen
titleJVM
Paramètres conseillés : -Xms10m -Xmx1024m

Configuration Apache

  • Proxy PUSH
  • Proxy AJP
  • Module à charger : proxy_wstunnel_module
Bloc de code
languagebash
themeEclipse
titleRègles de réécriture concernant le PUSH (httpd.conf) : nouvelle configuration
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^websocket$ [NC,OR]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule .* ws://<nom>.univ.fr:20070%{REQUEST_URI} [P,L]

# AJP vers Tomcat
ProxyPass / ajp://<nom>.univ.fr:20079/

#Toujours adapter le numero de port avec la conf tomcat du server.xml. Ici : 20070 pour le connecteur HTTP et 20079 pour le connecteur AJP


Bloc de code
languagebash
themeEclipse
titleRègles de réécriture concernant le PUSH (httpd.conf) : ancienne configuration
Règles de réécriture concernant le PUSH (httpd.conf)
RewriteEngine on
RewriteCond %{QUERY_STRING} ^((?!X-Atmosphere-Transport=websocket).)*$
RewriteRule ^/PUSH(.*)$ http://<nom>.univ.fr:20070/PUSH$1 [P]
# PUSH
ProxyPass /PUSH ws://<nom>.univ.fr:20070/PUSH
ProxyPassReverse /PUSH ws://<nom>.univ.fr:20070/PUSH
# AJP vers Tomcat
ProxyPass / ajp://<nom>.univ.fr:20079/

#Toujours adapter le numero de port avec la conf tomcat du server.xml. Ici : 20070 pour le connecteur HTTP et 20079 pour le connecteur AJP


Configuration Tomcat


Bloc de code
languagebash
themeEclipse
titleDéfinition des connecteurs du server.xml
<Connector port="20070" protocol="HTTP/1.1" connectionTimeout="20000" />
<Connector port="20079" protocol="AJP/1.3" />


Configuration MySQLCréer une base vide dédiée à eCandidat

Répartiteur de charge conseillé

En cas de Load Balancing : HAProxy

Bloc de code
languagebash
themeEclipse
titleExemple configuration HAProxy
# declaration du vhost
acl url_eCandidat hdr_end(host) -i eCandidat.univ.fr

# fichier pour gerer les acces IP       
acl acl_eCandidat src -i -f /etc/haproxy/acl/eCandidat

# declaration regle websocket ( push)
acl ws_eCandidat hdr(Upgrade) -i WebSocket
use_backend ws_eCandidat if ws_eCandidat url_eCandidat acl_eCandidat

tcp-request inspect-delay 500ms
tcp-request content accept if HTTP

# declaration regle http
use_backend www_eCandidat if url_eCandidat acl_eCandidat

backend ws_eCandidat

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 ECANDIDAT 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
server back-lb1 <nom>.univ.fr:20130 maxconn 1000 weight 10 cookie back-lb1 check
server back-lb2 <nom>.univ.fr:20130 maxconn 1000 weight 10 cookie back-lb2 check
server back-lb3 <nom>.univ.fr:20130 maxconn 1000 weight 10 cookie back-lb3 check
server back-lb4 <nom>.univ.fr:20130 maxconn 1000 weight 10 cookie back-lb4 check



...