Enterprise open source portal built by and for the higher education community.
This project is maintained by uPortal-Project
La plate-forme BIG-IP de F5 (communément appelée F5) est une solution populaire pour un équilibreur de charge (load-balancer) dédié. Il est riche en fonctionnalités avec de nombreuses options. Voici une approche utilisée à l’Université de Californie, Merced.
Cette installation F5 possède un gestionnaire de trafic global (GTM) et deux gestionnaires de trafic locaux (LTM). Le GTM gère le DNS et le trafic initial, redirigeant vers un LTM basé sur la configuration. Les LTM effectuent en réalité une grande partie du traitement de paquets réseau avant de les transmettre à uPortal. En outre, F5 va gérer le cryptage SSL.
Dans cet exemple, le service DNS principal est configuré pour “aliasé” le service uPortal au F5 GTM.
Vous devrez d’abord coordonner avec votre équipe réseau quelques modifications IP/DNS.
éléments | Example value for this install |
---|---|
CNAME of uPortal URL to F5 managed A record | my.ucmerced.edu -> my.gl.ucmerced.edu |
CNAME of F5 managed A record in DNS as external | my.gl.ucmerced.edu -> F5 DNS services |
uPortal Virtual IPs (one per LTM) | 169.236.5.27, 169.236.79.27 |
SSL key and certificate | my.key, my.cert |
String to grep from the landing page of the tomcats | “portal” |
Les détails pour la configuration de F5 sont au-delà de ce document. Ces éléments servent à configurer un nouveau service uPortal.
Les premiers systèmes à configurer sont les LTM.
Connectez-vous à chaque client Web LTM (nécessite un accès administrateur).
Cette étape rend disponible la clé et le certificat pour le service Web uPortal. Cela est similaire à la configuration d’Apache en front d’uPortal et le trafic SSL. Les fichiers de clé et de certificat sont les mêmes que ceux attendus par Apache pour SSL.
Un moniteur (monitor) vérifie la disponibilité des serveurs uPortal. Il interroge essentiellement chaque serveur, à la recherche d’une réponse, pour confirmer qu’il est opérationnel.
GET / HTTP/1.1\r\nHost: \r\n\r\n
Un pool est une liste des serveurs qui forment le service uPortal pour un LTM. Une approche commune est de loger un LTM et chaque data center. Le pool comprendrait alors les serveurs uPortal dans ce data center.
Le profil SSL connecte la clé SSL et le certificat avec le(s) pool(s) uPortal.
Cette étape crée une redirection pour le trafic sur l’adresse IP virtuelle d’uPortal, port 80, vers HTTPS (port 443).
Cette étape achemine le trafic entrant sur l’adresse IP virtuelle pour uPortal vers les serveurs uPortal.
Une fois les LTM configurés, nous pouvons configurer le GTM. La configuration de GTM est beaucoup plus facile. En outre, la configuration du GTM à partir d’un seul client Web LTM est suffisante car ils pointent tous vers un seul GTM.
Connectez-vous au client Web GTM (nécessite un accès administrateur).
Le pool est la liste définitive des adresses IP virtuelles uPortal pointant vers tous les LTM actifs.
Cette étape suppose que le DNS est correctement configuré à la fois sur le DNS global et le service DNS GTM.
Les changement sont a réaliser dans <TOMCAT_HOME>/conf/server.xml
.
Pour prendre en charge le décryptage au niveau du F5, certains attributs supplémentaires doivent être définis pour le(s) connecteur(s) recevant le trafic du F5. Ce changement configure Tomcat pour accepter des paquets non cryptés en les considèrant comme sécurisés.
<Connector port="8080" protocol="HTTP/1.1"
...
proxyPort="443"
emptySessionPath="true"
scheme="https"
secure="true"
/>
Remote IP Valve
pour la génération de la journalisation (Log) et de la Session IDIl est important que Tomcat et uPortal reçoivent les adresses IP de l’utilisateur plutôt que les adresses IP de l’équilibreur de charge. C’est utilisé pour la journalisation et la génération de la clé de session utilisateur (Session ID). uPortal utilisera l’IP plus un petit nombre aléatoire pour créer des clés de session. Donc, sans cette valve, il y aura une forte probabilité que des utilisateurs partagent des sessions par inadvertance. Ajoutez la Remote IP Valve
à côté des autres valves proches en bas du fichier server.xml
:
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="10\.22\.1\.196, 10\.22\.2\.252"
remoteIpHeader="x-forwarded-for"
remoteIpProxiesHeader="X-Forwarded-For"
protocolHeader="x-forwarded-proto" />
Ajuster les adresses IP pour qu’elles correspondent à celles du ou des équilibreurs de charge.
Voir plate-forme BIG-IP