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.