J'ai installé apache dans RHEL 6. Tout fonctionne bien. Quelles modifications et configurations doivent être effectuées pour utiliser
https: // localhost: 443 / .
Si je change le "Listen 80" en 443, il lance une erreur de connexion SSL
"Erreur 107 (net :: ERR_SSL_PROTOCOL_ERROR): erreur de protocole SSL."
Si vous utilisez apache2, alors vous devez faire ce qui suit:
Étape 1: utilisez OpenSSL pour produire les clés utilisées pour sécuriser votre site. Ces clés sont utilisées lors du chiffrement et du déchiffrement du trafic vers votre site sécurisé.
$ openssl genrsa -out mydomain.key 1024
Cette commande créera une clé privée 1024 bits et la placera dans le fichier mydomain.key.
Les trois premières lignes ne sont pas nécessaires. 1. NameVirtualHostest obsolète et sera supprimé dans les futures versions d'Apache. C'est actuellement déjà un no-op. 2. Listen 443peut causer des problèmes si apache est déjà configuré pour écouter sur le port 443, ce qui est déjà le cas sur de nombreuses distributions linux. Ajoutez uniquement si vous êtes sûr que cette ligne n'est pas configurée ailleurs.
lanoxx
3
Ne changez Listen 80pas 443en /etc/httpd/conf/httpd.conf. SSL est configuré dans /etc/httpd/conf.d/ssl.conf. Sur RHEL 6, SSL est activé et écoute par défaut avec un certificat auto-signé.
Vous pouvez accéder au site par défaut en utilisant SSL simplement en naviguant sur https://localhost(vous n'avez pas besoin d'ajouter le port à la fin de l'URL).
Si vous souhaitez transférer toutes les requêtes HTTP vers HTTPS (ce que je crois que vous essayez d'atteindre), vous pouvez soit ajouter une redirection permanente, soit utiliser le module Apache mod_rewrite.
Le moyen le plus simple et le plus sûr est de mettre en place une redirection permanente. Activez les hôtes virtuels nommés et ajoutez une Redirectdirective à VirtualHost dans /etc/httpd/conf/httpd.conf.
À l'aide de mod_rewrite, vous créez également un hôte virtuel nommé. Ce n'est pas la méthode recommandée, mais cela fonctionnera.
NameVirtualHost *:80
<VirtualHost *:80>
# Enable the Rewrite engine
RewriteEngine On
# Make sure the connection is not already HTTPS
RewriteCond %{HTTPS} !=on
# This rewrites the URL and forwards to https
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
Si vous souhaitez désactiver SSL, mettez ces lignes en commentaire /etc/httpd/conf.d/ssl.confet redémarrez Apache.
En fait, si vous ajoutez le package mod_ssl pour RHEL6, il crée un /etc/httpd/conf.d/ssl.conf, qui charge le module et configure <VirtualHost _default_:443>, avec tous les paramètres nécessaires, chacun avec des commentaires. Le mod_sslpackage n'est pas installé automatiquement si vous avez installé le httpdpackage.
jsbillings
1
Je voudrais ajouter une seule chose à votre réécriture: utilisez [R=301,L]au lieu de simplement [R,L], de cette façon, la réécriture utilise l' option permanente des codes d'état HTTP 3xx .
NameVirtualHost
est obsolète et sera supprimé dans les futures versions d'Apache. C'est actuellement déjà un no-op. 2.Listen 443
peut causer des problèmes si apache est déjà configuré pour écouter sur le port 443, ce qui est déjà le cas sur de nombreuses distributions linux. Ajoutez uniquement si vous êtes sûr que cette ligne n'est pas configurée ailleurs.Ne changez
Listen 80
pas443
en/etc/httpd/conf/httpd.conf
. SSL est configuré dans/etc/httpd/conf.d/ssl.conf
. Sur RHEL 6, SSL est activé et écoute par défaut avec un certificat auto-signé.Vous pouvez accéder au site par défaut en utilisant SSL simplement en naviguant sur
https://localhost
(vous n'avez pas besoin d'ajouter le port à la fin de l'URL).Si vous souhaitez transférer toutes les requêtes HTTP vers HTTPS (ce que je crois que vous essayez d'atteindre), vous pouvez soit ajouter une redirection permanente, soit utiliser le module Apache
mod_rewrite
.Le moyen le plus simple et le plus sûr est de mettre en place une redirection permanente. Activez les hôtes virtuels nommés et ajoutez une
Redirect
directive à VirtualHost dans/etc/httpd/conf/httpd.conf
.À l'aide de
mod_rewrite
, vous créez également un hôte virtuel nommé. Ce n'est pas la méthode recommandée, mais cela fonctionnera.Si vous souhaitez désactiver SSL, mettez ces lignes en commentaire
/etc/httpd/conf.d/ssl.conf
et redémarrez Apache.la source
<VirtualHost _default_:443>
, avec tous les paramètres nécessaires, chacun avec des commentaires. Lemod_ssl
package n'est pas installé automatiquement si vous avez installé lehttpd
package.[R=301,L]
au lieu de simplement[R,L]
, de cette façon, la réécriture utilise l' option permanente des codes d'état HTTP 3xx .