Conditions
Ce guide utilise Ubuntu 16.04 comme système d'exploitation sur lequel le serveur Web s'exécute. Cependant, les mêmes étapes peuvent être utilisées pour toutes les autres versions d'Ubuntu tant qu'il n'y a pas de différence dans les paramètres. Ce guide suppose que l'utilisateur a déjà installé un serveur Web et qu'il s'agit de Nginx. En tant que client SSH, Putty est utilisé et en tant qu'éditeur de fichiers, Nano est recommandé.
Solution
- Le serveur Web créé sur les Droplets est accessible via le protocole SSH. Téléchargez et installez Putty depuis son site officiel. L'application est entièrement gratuite.
- Après avoir téléchargé Putty, allez-y et téléchargez le Nano. Le but de Putty est d'accéder à la console Linux pour taper des commandes shell, tandis que Nano est utilisé pour éditer des fichiers internes tels que le fichier par défaut Nginx.
- Lancez Putty et accédez à l'onglet Session.
- Dans le champ Nom d'hôte, saisissez l'adresse IP du droplet de DigitalOcean où le serveur Web est installé. L'adresse IP des Droplets peut être trouvée dans https://cloud.océan numérique.com/gouttelettes. Dans le champ port, tapez 22.
- Après avoir soumis tous les champs requis comme indiqué ci-dessus, appuyez sur OK pour appliquer les modifications et connectez-vous au Droplet. Lors de la connexion au système, il demandera le nom d'utilisateur et le mot de passe du Droplet. Le nom d'utilisateur et le mot de passe sont envoyés par e-mail à l'adresse e-mail enregistrée dans DigitalOcean lors de la création de la gouttelette.
- Ce guide utilise Certbot, un outil tiers pour automatiser l'ensemble du processus de récupération et de renouvellement des certificats numériques. Certbot a son propre site Web à partir duquel les commandes à utiliser peuvent être générées facilement. Selon Certbot, les bonnes commandes pour installer Certbot sur Ubuntu sont celles-ci. Tout d'abord, il met à jour les informations du package dans le référentiel local, puis il installe le package commun des propriétés logicielles qui fournit des scripts utiles pour gérer les packages personnels (PPA), puis il installe certbot, puis il met à jour à nouveau le référentiel local, puis il installe enfin paquet python certbot nginx. Assurez-vous que tous ces packages sont correctement installés avant de passer à l'étape suivante.
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get mise à jour
$ sudo apt-get install python-certbot-nginx
- Accédez au site Web sur lequel le domaine a été acheté. Ce guide utilise Porkbun comme registraire de domaine, puis ajoute l'enregistrement A au domaine. Le type est un enregistrement, l'hôte est vide si l'adresse IP est associée au domaine racine, sinon utilisez le nom de sous-domaine sans le domaine racine, par exemple s'il s'agit de nucuta.com, utilisez simplement www. Comme réponse, tapez l'adresse IP du Droplet.
- De la même manière, redirigez le trafic WWW vers le domaine racine comme suit. Le type est "CNAME", l'hôte est "WWW", la réponse est "nucuta.com" ou votre domaine. Cette étape est importante car elle redirige tout le trafic www vers le domaine racine.
- Utilisez la commande suivante sur Putty pour accéder au fichier par défaut de Nginx. Le fichier par défaut utilise par défaut un bloc de serveur où se trouve le domaine principal. Nano Editor est fortement recommandé car il est assez pratique à utiliser par rapport aux autres.
- Dans le fichier par défaut, accédez au bloc server et redirigez le trafic HTTP vers HTTPs, et dans l'autre bloc de serveur où le trafic sécurisé est géré, changez le server_name en nom de domaine, par exemple
- Tapez la commande suivante pour redémarrer le serveur Web Nginx. Chaque fois qu'une modification a été apportée au fichier par défaut, l'ensemble du serveur Nginx doit être redémarré pour que les nouvelles modifications aient un effet.
- Par défaut, le pare-feu bloque tout le trafic sauf vers les ports 80 et 22. Le HTTPS utilise le port 443 ; par conséquent, il doit être ouvert manuellement pour accéder au serveur Web du côté client. L'ouverture du port dépend du pare-feu.
En CSF (pare-feu serveur configuré)
- Ouvre le fichier de configuration CSF en tapant la commande suivante.
- Ajoutez les ports suivants à TCP In et Out.
TCP_OUT = "20,21,22,25,53,80,443"- Redémarrez le CSF en tapant
csf -r
En USF (Pare-feu simple)
- Tapez les deux commandes suivantes pour ajouter HTTPS à la liste d'exceptions. Le package « Nginx Full » possède à la fois des ports HTTP et HTTPS ; donc l'ajout du package complet permet à la fois le trafic entrant et sortant.
sudo ufw supprimer autoriser 'Nginx HTTP'- Tapez la commande suivante pour voir l'état
statut ufw
- Vérifiez le port 443 à partir d'un site Web externe pour vous assurer qu'il s'ouvre à coup sûr. Si le port est ouvert, il indiquera "le port 443 est ouvert"
- Utilisez maintenant le Certbot pour récupérer le certificat SSL sur le domaine. Le paramètre D est requis pour spécifier le domaine. Let's encrypt libère un certificat pour la racine et le sous-domaine www. Avoir un seul pour l'une ou l'autre version émettra un avertissement dans le navigateur si un visiteur accède à l'autre version ; il est donc important d'obtenir le certificat pour les deux versions. sudo certbot --nginx -d nucuta.com-d www.nucuta.com
- Certbot demandera de rediriger tout le trafic HTTP vers HTTPS, mais ce n'est pas obligatoire car cela a déjà été fait dans l'une des étapes précédentes.
- Accédez maintenant au site Web SSL Lab et vérifiez la qualité ou tout autre problème du certificat et de sa configuration. https://www.ssllabs.com/ssltest/
- Si la configuration actuelle n'est pas suffisamment sécurisée, accédez au générateur de configuration SSL de Mozilla et générez les paramètres de votre serveur Web. https://mozilla.github.io/server-side-tls/ssl-config-generator/. Comme ici utilise Nginx, assurez-vous d'utiliser Nginx comme serveur Web. Il propose trois options, intermédiaire, ancien et moderne. L'ancienne option rend le site Web compatible avec pratiquement tous les navigateurs, y compris les très anciens navigateurs comme IE 6, tandis que l'option intermédiaire le rend idéal pour les utilisateurs moyens, l'option moderne génère la configuration requise pour une sécurité maximale, mais en contrepartie, le site Web ne fonctionnera pas correctement sur les anciens navigateurs. Il est donc fortement recommandé pour les sites Web où la sécurité est une préoccupation majeure.
- Accédez à votre site Web et faites un clic droit sur l'icône de verrouillage, puis sur l'option « Certificat » pour voir le certificat.
- S'il affiche une date future après TO dans l'option valide à partir de, ce qui signifie que le processus d'acquisition du certificat a été terminé. Cependant, il est important de rediriger le trafic vers la version appropriée du domaine, par exemple le trafic HTTP et WWW peut être redirigé vers le domaine racine HTTPS comme indiqué dans ce guide. Le certificat sera automatiquement renouvelé par certbot ; par conséquent, il est toujours disponible gratuitement pour le propriétaire du site Web.