GESTION APACHE SSL EN FRONT

Transcription

GESTION APACHE SSL EN FRONT
GESTION APACHE SSL EN FRONT-END
PROTOCOLE AJP
QUESTION
Est-il possible de définir un serveur Apache SSL en front-end d'orchestra en utilisant le protocole AJP ?
RÉPONSE
Oui, il est possible d'utiliser NQI-Orchestra avec un serveur Apache SSL configuré en reverse proxy pour permettre le routage
des serveurs web et d'effectuer la communication entre apache et NQI Orchestra en utilisant le protocole AJP.
TUTORIEL
Environnement
OS/Programme
Version
Système d'exploitation
Linux Ubuntu 12.04
NQI-Orchestra
Orchestra 4.0
Serveur Apache
2.2.22
Base de données
Postgresql 9.1
Serveur DNS
bind9
Topologie réseau
La géstion de la connexion https est laissée au serveur Apache. C'est lui qui décode les requêtes et encode les réponses HTTP.
Configuration Serveur NQI-Orchestra
Le serveur NQI-Orchestra sera tout d'abord configuré normalement, suivant la procédure du guide d'installation.
Le serveur NQI-Orchestra sera configuré normalement, suivant la procédure du guide d'installation.
Configuration Serveur Apache
Après installation du serveur Apache 2.2.14 sur le serveur linux , il faut activer et paramétrer le module proxy et rewriting. Pour cela, il faut
activer les modules suivants :
proxy
proxy_ajp
proxy_http
ssl
Allez dans le répertoire /etc/apache2/mods-enabled et activer les modules suivants:
sudo
sudo
sudo
sudo
a2enmod
a2enmod
a2enmod
a2enmod
proxy
proxy_ajp
proxy_http
ssl
Information
Pour plus d'informations sur la configuration d'Apache, cf http://httpd.apache.org/
Un fichier avec la configuration suivante prendra en charge le serveur NQI-Orchestra (fichier sites-available/orchestra)
Le reverse proxy en mode se connectera au port ajp du serveur JBoss (Défaut 8009. Voir Exploitation - Serveur d'Application)
/etc/apache2/sites-available/orchestra
<VirtualHost *:80>
ServerName monorchestra.mondomain.com
Redirect / https://monorchestra.mondomain.com/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName monorchestra.mondomain.com
SSLEngine On
SSLCertificateFile /path/to/mycertificatefile.crt
SSLCertificateKeyFile /path/to/mykeyfile.key
SSLCertificateChainFile /path/to/mychainfile.crt
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests Off
## ProxyPreserveHost default value is Off
ProxyPreserveHost On
ProxyTimeout 3600
ProxyPass / ajp://localhost:8009/
CustomLog /var/log/apache2/monorchestra.log combined
ErrorLog /var/log/apache2/monorchestra_error.log
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/json text/json text/html text/xml text/css
text/javascript application/x-javascript application/javascript application/vnd.ms-excel
</IfModule>
</VirtualHost>
Compression des flux
Le protocole AJP ne permet pas de compresser les flux au niveau de JBoss contrairement au protocole HTTP.
Les dernières lignes de la configuration apache permettent de compresser les flux de type json, text, javascript, ... entre le
serveur apache et le poste client afin de réduire les temps de transfert.
NB : le module apache deflate doit être activé pour que cette directive soit prise en compte.
Un autre fichier s'occupera de gérer le serveur tiers (fichier sites-available/drupal). Celui-ci pourra être accessible en HTTP ou en HTTPS.
/etc/apache2/sites-available/drupal
<VirtualHost *>
ServerAdmin [email protected]
DocumentRoot /var/www/drupal
ServerName drupal.mondomain.com
CustomLog /var/log/apache2/drupal.log combined
<Directory "/var/www/drupal">
allow from all
Options -Indexes
order allow,deny
</Directory>
</VirtualHost>
Attention
Ne pas oublier d'activer les sites :
sudo a2ensite orchestra
sudo a2ensite drupal
Redémarrez le serveur Apache et testez les accès aux différents serveurs