Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / Apache 2 / Activer le protocole HTTPS avec Apache 2 sur Debian

Activer le protocole HTTPS avec Apache 2 sur Debian

Par Pierre-Yves Landuré Dernière modification 29/10/2017 11:58

Ce guide facilite l'activation de HTTPS sur Debian.

Ce guide est testé sur:

  • Debian 8.0 Jessie
  • Ubuntu 17.10 Artful Aardvark

Prérequis

Ce guide nécessite

Ce guide recommande:

Paramètres

Renseignez l'adresse IP de la connexion HTTPS (_default_ est une constante Apache 2 valide):

sslIp="_default_"

    Installation

    Détectez le proxy de commande (command ou sudo):

    cmdProxy='command'
    command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

    Configurez le serveur pour écouter sur le port 443:

    if [ -z "$(command grep 'Listen.*443' '/etc/apache2/ports.conf')" ]; then
      ${cmdProxy} tee -a '/etc/apache2/ports.conf' \
    <<< "# Listen on the HTTPS port if the needed module is available. <IfModule mod_ssl.c>  Listen 443 </IfModule>" fi

    Activez les hôtes virtuels pour l'interface réseau:

    if [[ -z "$(command grep "NameVirtualHost.*${sslIp}:443" '/etc/apache2/ports.conf')" \
    && "${sslIp}" != "_default_" ]]; then ${cmdProxy} sed -i -e "/Listen[\t ]*443/a\\ NameVirtualHost ${sslIp}:443" '/etc/apache2/ports.conf' fi

    Activez le module SSL:

    ${cmdProxy} a2enmod ssl
    

    Rechargez la configuration du serveur:

    ${cmdProxy} service apache2 force-reload
    

    Utilisation

    Tout site HTTPS nécessite la création d'un certificat SSL valide adapté à son nom de domaine, comme décrit par Créer un certificat SSL / TLS sur Debian.

    Créez un hôte virtuel HTTPS avec a2tools en utilisant l'option --ssl=auto pour générer un certificat SSL Let's Encrypt:

    # command a2tools --ssl='auto' 'www.domain.com' '/opt/www.domain.com'

    Créez un hôte virtuel HTTPS avec a2tools en utilisant l'option --ssl ayant en argument le nom du certificat SSL créé (en général, le nom de domaine du site):

    # command a2tools --ssl='www.domain.com' 'www.domain.com' '/opt/www.domain.com'

    Si le certificat créé est un certificat wildcard valide pour plusieurs sous-domaines, utilisez:

    # command a2tools --ssl='*.domain.com' 'www.domain.com" '/opt/www.domain.com'

    Une fonctionnalité manquante des navigateurs Internet Explorer 6 à 8 sur Windows XP limite à l'utilisation d'un seul certificat SSL par adresse IP. Pour héberger plusieurs sous-domaines sur un même serveur, l'utilisation de certificats "wildcard" (cad. "*.exemple.com") est recommandée.

    Pour héberger plusieurs domaines sur un serveur sans erreurs sur Internet Explorer, utilisez l'option --bind-ip pour spécifier l'adresse IP associée au certificat SSL utilisé. Si vous utilisez un serveur OVH, assignez une IP failover au serveur.