You are not logged in.
En préampule: Faire un backup des fichiers qui seront modifiés.
Contexte: Nous allons considérer que l'installation utilise Apache en frontal et du virtualhost pour communiquer avec tomcat. Nous allons sécuriser seulement Apache.
Pré-requis: obtenir un certificat et configurer les certificats dans Apache
Introduction: Je décris ici comment passer le CMS en https puis avoir une redirection de http vers le back-office en https. Dans cet exemple j'ai pris un modèle d'adresse d'un back-office de développement (cmsdev.mondomaine.fr).
Voici les étapes à réaliser pour réaliser le passage en https:
- Arrêt d'Apache et de tomcat sur le back-office
- mv /etc/httpd/vhosts/httpd-cmsdev.mondomaine.fr.conf /etc/httpd/vhosts/httpds-cmsdev.mondomaine.fr.conf
- Supprimer tout le virtualhost sur le port 80
- Si c'est le cas, remplacer <VirtualHost xxx.xxx.xxx.xxxx:443> par <VirtualHost *:443> (nous ne faisons pas de virtualhost par IP mais sur le nom)
- vi /usr/local/tomcat/conf/server.xml
Au niveau du connecteur il faut ajouter:
proxyPort="443"
scheme="https"
secure="true"
Ce qui doit donner quelque chose du genre:
<Connector port="8080"
proxyPort="443"
scheme="https"
secure="true"
URIEncoding="UTF-8"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/json"
compressionMinSize="2048"/>
Start de Apache en tant que root puis de tomcat en tant que cms (sudo /etc/init.d/tomcat start)
Tests
Création de la redirection http:// vers https://
vi /etc/httpd/vhosts/httpd-cmsdev.mondomaine.fr.conf
Copier coller tout ceci en s'assurant que (NameVirtualHost *:80 est bien positionné)
<VirtualHost *:80>
# Racine des documents statiques du CMS
DocumentRoot /home/cms/Ametys_CMS/application/cms
<Directory "/home/cms/Ametys_CMS/application/cms">
Order allow,deny
Allow from all
</Directory>
ServerName cmsdev.mondomaine.fr
UseCanonicalName On
AddDefaultCharset UTF-8
RewriteEngine On
ProxyRequests Off
RedirectMatch permanent ^(.*)$ [url]https://cmsdev.mondomaine.fr/$1[/url]
</VirtualHost>
Restart de Apache + tests
Last edited by fred.ravetier (11/12/2015 14:32:33)
Offline
Pour la redirection de http vers https, Chong a proposé une autre solution qui me semble plus séduisante :
<VirtualHost *:80>
ServerName cmsdev.mondomaine.fr
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,L,R=301]
</VirtualHost>
Last edited by fred.ravetier (11/12/2015 14:41:23)
Offline