System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Certificats ssl pour du https vite fait mal fait :p

mod-ssl.jpeg

https speed c'est par la :)

Cet article par du principe que vous avez compilé votre apache,

Pré requis :

- Openssl installé et fonctionnel sinon : article sur l'installation openssl

- Apache installé et fonctionnel sinon : article sur l'installation d'apache

Voici les lignes de commandes à taper dans l'ordre

Commande openssl pour créer le certificat et la clef :

openssl req -new -out system-linux.csr
openssl rsa -in privkey.pem -out system-linux.key
openssl x509 -in system-linux.csr -out system-linux.crt -req -signkey system-linux.key -days 3650
openssl x509 -in system-linux.crt -out system-linux.der.crt -outform DER

Création des repertoires :

mkdir /opt/httpd/conf/ssl_crt
mkdir /opt/httpd/conf/ssl_key

Copie des fichier crt et key :

cp grc-midian.crt /opt/httpd/conf/ssl_crt/
cp grc-midian.key /opt/httpd/conf/ssl_key/

Il faut bien entendu adapter ces commandes à votre environnement.

Maintenant un peu de configuration apache :

Décommentez ce qui suit dans votre httpd.conf :

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

Votre apache devra être redémarré pour prendre en compte tout ça.

vi /opt/httpd/conf/extra/httpd-ssl.conf

Vous devriez avoir quelque chose comme ce qui suit :

Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog  builtin
SSLSessionCache        "shmcb:/var/log/httpd/ssl_scache(512000)"
SSLSessionCacheTimeout  300
SSLMutex  "file:/var/log/httpd/ssl_mutex"

<VirtualHost _default_:443>
DocumentRoot "/var/www/votre-site"
ServerName localhost:443
ServerAdmin admin@miam.fr
ErrorLog "/var/log/httpd/error_log"
TransferLog "/var/log/httpd/access_log"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/opt/httpd/conf/ssl_crt/system-linux.crt"
SSLCertificateKeyFile "/opt/httpd/conf/ssl_key/system-linux.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/opt/httpd-svn/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

Note : vous aurez peut être à rajouter une ligne dans votre vhost pour rediriger les requetes http vers du https comme ci-dessous

<VirtualHost *:80>
ServerName chomdu.anpe.fr
Redirect / https://ip_ou_url/
[...]
</VirtualHost>

Surtout ne pas oublier de redémarrer votre serveur web.

Des questions Messieurs ?

Pour les debianeux, comme Debian change énormément de choses dans ses paquets je ne puis vous éclairer mais si une ame charitable c'est faire la dites besogne merci d'avance pour l'info !

Par GanGan | le vendredi, mars 27 2009 08:00