« Apache2 » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 1 : | Ligne 1 : | ||
== Écoute sur des ports exotiques == | |||
=== Usage === | |||
Internet ---> [#80 | Serveur Web 1 | #80] <-----> [ #80 | Serveur Web 2 ] | |||
=== Activation du mode Proxy === | |||
{{ Box Console | objet=sudo a2enmod proxy proxy_http }} | |||
{{ Box Console | objet=sudo service apache restart }} | |||
=== === | |||
* Remplacer : | |||
DocumentRoot /var/www/monsite.fr/www | |||
* Par : | |||
ProxyPass / http://localhost:8000/ | |||
ProxyPassReverse / http://localhost:8000/ | |||
ProxyPreserveHost On | |||
== Certificat SSL == | == Certificat SSL == | ||
Version du 6 avril 2016 à 17:08
Écoute sur des ports exotiques
Usage
Internet ---> [#80 | Serveur Web 1 | #80] <-----> [ #80 | Serveur Web 2 ]
Activation du mode Proxy
|
|
|
|
- Remplacer :
DocumentRoot /var/www/monsite.fr/www
- Par :
ProxyPass / http://localhost:8000/ ProxyPassReverse / http://localhost:8000/ ProxyPreserveHost On
Certificat SSL
Un certificat SSL permet de crypter les échanges entre le client et le serveur. Ce type de certificat est utilisé par le protocole http sécurisé (https) pour sécurisé les échanges dans le cadre d'échange de données sensibles (paiement en ligne, banque en ligne, sites gouvernementaux).
Les certificat SSL sont délivrés par une autorité dédiée et reconnu de tous. Cela est visible dans le navigateur web où le cas échéant, un message d'avertissement apparaît. Il est possible de générer ses propres certificats sans faire appel aux services d'une autorité. Dans ce cas, on dira que le certificat est auto-signé.
Certificat auto-signé
- Le certificat est généré par l'utilisateur. Pour pouvoir générer ses propres certificats, il faut installer le paquet openssl.
|
|
- Génération de la clé ssl. La clé peut avoir les longueurs de 512, 1024 ou 2048. Cependant, on préférera une longueur de 2048 qui est la plus complexe et donc la plus difficile à corrompre. L'algorithme de cryptage utilisé pour créer notre clé est le RSA (algorithme de cryptage asymétrique).
|
|
|
Le dossier /etc/ssl/private est présent pour contenir vos clés et certificats privés. |
- Ensuite, il s'agit de créer le certificat qui sera récupéré par le navigateur web avec toutes les données relatives à l'autorité fournissant le certificat ainsi que la clé de partage :
|
|
- Enfin, on signe le certificat précédemment crée pour une durée de validité de 1 an (365 jours) :
|
|
Certificat fournie par une autorité
L'autorité fournit la clé privée qui a été cryptée par le mot de passe que vous avez saisie au préalable. Pour éviter que le serveur web ne demande à chaque redémarrage le mot de passe pour pouvoir lire la clé, on va la déchiffrer et la stocker sur le serveur.
- Récupérez la clé depuis le site de l'autorité et sauvegardez là dans le fichier /etc/ssl/mon-site.fr.key.
- Nous procédons au décryptage de la clé.
|
|
- Il faut également récupérer le certificat qui a été généré par l'autorité et le sauvegarder dans le fichier /etc/ssl/mon-site.fr.crt.
Maintenant on peut configurer l'hôte virtuel Apache pour utiliser notre certificat et sa clé privée.
Utilisation dans Apache2
Le protocole https écoute sur le port 443. Il faudra donc modifier la configuration d'Apache2 pour répondre aux conditions suivantes :
- Écouter sur le port 443.
- Permettre des hôtes virtuels sur le port 443.
Configuration de /etc/apache2/ports.conf
- Nous allons y ajouter les éléments suivants (activation du module pour les hôtes virtuels et écoute sur le port 443) :
NameVirtualHost *:443 Listen *:443
- Et, à la fin, si ce dernier n'existe déjà pas :
<IfModule mod_gnutls.c> Listen 443 </IfModule>
- On redémarre Apache2 pour prendre en compte ces modifications :
|
|
Création du site web SSL
Dans notre exemple, nous créons le site www.mon-site.fr accessible via https://.
- Création du fichier /etc/apache2/sites-available/mon-site.fr.conf.
|
|
- On édite le fichier et on y renseigne les lignes suivantes :
<VirtualHost *:443> DocumentRoot /var/www/mon-site.fr/www/ ServerName www.mon-site.fr <Directory /var/www/mon-site.fr/www/> allow from all Options +Indexes </Directory> SSLEngine on SSLCertificateFile /etc/ssl/private/mon-site.fr.crt SSLCertificateKeyFile /etc/ssl/private/mon-site.fr.key </VirtualHost>
- On redémarre Apache2 pour prendre en compte ces modifications :
|
|