GeoNode en cours d’exécution sous SSL¶
Activation de SSL va crypter le trafic entre votre serveur GeoNode et les navigateurs clients. Cette approche consiste à re-configurer Apache pour servir sur le port 443, au lieu du port 80. Autres approches existent et doivent être ajoutés à ce document.
Générer votre clé SSL & certificat¶
La première étape consiste à générer une clé DES.:
# for CommonName use GeoNode domain name or ip address as specified in GeoNode's SITEURL
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
# generate new server.key without challenge password, or Apache will ask for password at startup
mv server.key server.key.tmp
openssl rsa -in server.key.tmp -out server.key
# generate certificate
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Copiez le certificat et la clé vers les emplacements standards:
sudo cp server.crt /etc/ssl/certs/geonode.crt
sudo cp server.key /etc/ssl/private/geonode.key
Ensuite ajoutez le certificat dans le fichier cacerts pour python et java:
sudo -s "cat server.crt >> /var/lib/geonode/lib/python2.6/site-packages/httplib2/cacerts.txt"
sudo keytool -import -alias geonodessl -keystore /etc/ssl/certs/java/cacerts -file server.crt
Remarque keytool vous demandera un mot de passe et le mot de passe standard pour le fichier cacerts de java est ‘’ changeLe ‘’.
Configuration d’Apache¶
Activer le module ssl dans Apache avec la commande:
sudo a2enmod ssl
Ensuite, en tant que root éditez le fichier de configuration Apache geonode : file:’/etc/apache2/sites-available/geonode ». Au début du fichier, remplacez:
<VirtualHost *:80>
with:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
Au bas du fichier, remplacez:
</VirtualHost>
with:
SSLEngine on
SSLCertificateFile /etc/ssl/certs/geonode.crt
SSLCertificateKeyFile /etc/ssl/private/geonode.key
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
<VirtualHost *:80>
Redirect permanent / https://192.168.10.10/
</VirtualHost>
Cela indique à Apache où fine la clé et le certificat. Il y a aussi quelques lignes supplémentaires pour gérer la MSIE, tirée du fichier par défaut-ssl d’Apache.
Configuration de Tomcat¶
En tant que root, éditez le fichier de configuration du serveur Tomcat : file:’/var/lib/tomcat6/conf/server.xml “et remplacer:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443"
/>
with:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
scheme="https"
proxyName="<yourServersIPorDomainName>"
proxyPort="443"
/>
Cela indique Tomcat qu’elle tourne derrière un proxy https. Si ceci est omis Tomcat tentera de rediriger vers http.
Configuration de GeoNode¶
En tant que root, éditez le fichier de configuration geonode : file:’/etc/geonode/local_settings.py “et changer le protocole ‘’ SITEURL’’ https:
SITEURL = 'https://<ipaddressOrDomainName>/'
Configuration avancée de GeoServer¶
En tant que root, éditez le fichier : file:’/var/lib/tomcat6/webapps/geoserver/WEB-INF/web.xml‘ et s’assurer que le ‘’ GEONODE_BASE_URL’’ est spécifiée comme suit:
<context-param>
<param-name>GEONODE_BASE_URL</param-name>
<param-value>https://localhost/</param-value>
</context-param>
Également mettre à jour ‘’ proxyBaseUrl’’ dans le fichier de paramètres globaux de Geoserver : file:’/var/lib/geoserver/geonode-data/global.xml‘:
<proxyBaseUrl>https://192.168.10.10/geoserver/</proxyBaseUrl>
Redémarrage¶
Enfin redémarrer Apache et Tomcat avec:
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/tomcat6 restart
Cette information a été respectée depuis un certain nombre de sources. Les liens principaux sont énumérés ci-dessous. Vous pouvez contacter le GeoNode avec des mises à jour ou corrections.