Comment activer SSL (TLS) dans Apache

introduction

J'ai essayé de résumer comment activer SSL (TLS) à l'aide d'un certificat auto-signé (* soi-disant certificat oleore) dans Apache 2.4. Bien sûr, cette méthode ne peut pas être utilisée dans un environnement de production, mais je pense qu'elle peut être utilisée lors d'études sur un serveur domestique ou dans un environnement de développement.

Environnement utilisé pour les tests

Le matériel n'est pas directement lié à cette procédure, mais je l'ai inclus au cas où.

Paramètres prérequis

  1. Apache est installé.
  2. Apache doit être prêt à démarrer.
  1. SELinux est arrêté et désactivé.

Étapes pour activer SSL (TLS)

1. Installation du logiciel requis pour la communication HTTPS

[root@akagi ~]# yum install openssl
[root@akagi ~]# yum install mod_ssl

2. Déplacer vers le dossier de travail

[root@akagi ~]# cd /etc/pki/tls/certs/

3. Création d'une clé privée

[root@akagi certs]# openssl genrsa > server.key
Generating RSA private key, 2048 bit long modulus
................................................+++
....+++
e is 65537 (0x10001)

4. Création d'une clé publique

[root@akagi certs]# openssl req -new -key server.key > server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Chiyoda
Organization Name (eg, company) [Default Company Ltd]:XYZ Company
Organizational Unit Name (eg, section) []:Development Dept.
Common Name (eg, your name or your server's hostname) []:192.168.10.240
Email Address []:[email protected]
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

5. Création d'un certificat de serveur (certificat auto-signé)

[root@akagi certs]# openssl x509 -req -signkey server.key < server.csr > server.crt
Signature ok
subject=/C=JP/ST=Tokyo/L=Chiyoda/O=XYZ Company/OU=Development Dept./CN=192.168.10.240/[email protected]
Getting Private key

6. Copie de la clé privée

[root@akagi certs]# cp -a server.key ../private/

7. Modifiez ssl.conf

★ Changer le nom du serveur
ServerName www.example.com:443
↓
ServerName 192.168.10.240:443
 
★TLS1.Prend en charge 2 ou plus
SSLProtocol all -SSLv2 -SSLv3
↓
SSLProtocol +TLSv1.2
 
★ Chemin du certificat
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
↓
SSLCertificateFile /etc/pki/tls/certs/server.crt
 
★ Chemin de clé privée
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
↓
SSLCertificateKeyFile /etc/pki/tls/certs/server.key

8. Redémarrez Apache

[root@akagi certs]# systemctl restart httpd

État après le travail

image.png

URL de référence

Recommended Posts

Comment activer SSL (TLS) dans Apache
Comment spécifier la version TLS dans les requêtes python
Comment résoudre les erreurs de module SSL dans l'environnement Anaconda
Comment développer en Python
[Python] Comment faire PCA avec Python
Comment gérer une session dans SQLAlchemy
Comment utiliser les classes dans Theano
Comment écrire sobrement avec des pandas
Comment collecter des images en Python
Comment mettre à jour Spyder dans Anaconda
Comment utiliser SQLite en Python
Comment convertir 0,5 en 1056964608 en un seul coup
Comment refléter CSS dans Django
Comment tuer des processus en vrac
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment exécuter du code TensorFlow 1.0 en 2.0
Comment gérer le japonais avec Python
Comment se connecter à Docker + NGINX
Comment appeler PyTorch dans Julia
Comment utiliser les colonnes calculées dans CASTable
[Introduction à Python] Comment utiliser la classe en Python?
Comment supprimer l'erreur d'affichage dans matplotlib
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
Comment convertir csv en tsv dans la CLI
Comment supprimer des sessions expirées dans Django
[Itertools.permutations] Comment créer une séquence en Python
Comment implémenter un sérialiseur imbriqué avec drf-flex-fields
Comment utiliser BigQuery en Python
Comment exécuter des commandes avec Jupyter Notebook
Comment faire 'git fetch --tags' dans GitPython
Comment obtenir stacktrace en python
Comment afficher la table quatre-vingt-dix-neuf en python
Comment réattribuer un index dans pandas dataframe
Comment utiliser l'interpréteur d'Anaconda avec PyCharm
Comment spécifier une cible non vérifiée dans Flake8
Comment gérer des valeurs consécutives dans MySQL
Comment changer de version de Python dans cloud9
Comment régler le contraste de l'image en Python
Comment utiliser __slots__ dans la classe Python
Comment installer Apache (httpd) sur CentOS7
Comment remplir dynamiquement des zéros avec Python
Comment installer Apache (httpd) sur CentOS8
Comment faire des événements envoyés par le serveur dans Django
Comment utiliser les expressions régulières en Python
Comment utiliser Map dans ViewPager d'Android
Comment afficher Hello World en python
Comment lire des fichiers CSV avec Pandas
Comment changer la couleur de l'éditeur dans PyCharm
Comment écrire ce processus en Perl?
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
Comment afficher les images dans l'administration de Django
Comment dessiner une image OpenCV avec Pygame
Comment faire revivre des cellules dans le notebook iPython