Squall NTCK Posté(e) le 1 avril 2005 Partager Posté(e) le 1 avril 2005 Bon je suis en train de faire joujou avec Apache, et je dois faire tourner mon serveur en SSL Donc grace à ce tres bon site ICI j'ai crée ma clé et mon certificat mais quand je demare apache j'ai cette erreur Impossible de démarrer apache : Démarrage de httpd : Apache/2.0.40 mod_ssl/2.0.40 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide us with the pass phrases. Server HotSpot:443 (RSA) Enter pass phrase:Apache:mod_ssl:Error: Private key not found. **Stopped [ECHOUE] Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 1 avril 2005 Partager Posté(e) le 1 avril 2005 Il semble que ta clé soit mal fabriquée... malgré que l'info de ton lien semble bon. Il y a une multitude de conception possible pour les certificats. Voici celle que j'utilise et qui fonctionne bien: Créez un dossier temporaire: mkdir /temp/wwwkey Déplacez-vous dans ce dossier et exécutez: openssl genrsa -out cert.key 1024 Tapez ensuite: openssl req -new -key cert.key -out cert.csr (ou bien envoyez la requête à RSA, Verisign, ... si vous voulez) Cette étape vous demandera d'inscrire des commentaires pour la fabrication du certificat. Il est important de ne rien inscrire de personnel ou qui pourrait mettre en risque la sécurité et il faut également s'assurer que la valeur utilisée pour le Common Name (CN) soit identique au nom du site web (ex.: mon.domaine.com) qui est également spécifié dans ServerName dans le fichier de config d'Apache. Vous devrez fournir mot de passe Challenge password qui sera utile pour utilisation futur de nouveaux certificats. Votre mot de passe doit être gardé en lieu sûr. La dernière étape est d'ajouter la signature du certificat en tapant cette commande: openssl x509 -req -days 3650 -in cert.csr -signkey cert.key -out cert.crt il ne reste qu'à copier les fichier cert.crt et cert.key dans le chemin d'accès configuré par Apache dans httpd.conf. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Squall NTCK Posté(e) le 4 avril 2005 Auteur Partager Posté(e) le 4 avril 2005 Je teste ca de suite Pour l'aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Squall NTCK Posté(e) le 4 avril 2005 Auteur Partager Posté(e) le 4 avril 2005 Bon, ca ne marche pas, il ne me même plus d'erreur, quand je lance apache il me met juste echouer Donc, je cherche toujours sur le waib pour mo trouver la cause de mon ptit problème... En fouillant un peu mon fichier httpd.conf, j'ai peut être une idée d'ou vient le probleme # Virtual host WifiAuthentification <VirtualHost 192.168.182.1:80> DocumentRoot /var/www DirectoryIndex splash.html hotspotlogin.cgi index.html index.shtml <Directory "/var/www/cgi-bin/"> AllowOverride none </Directory> SSLEngine on SSLCertificateFile /etc/httpd/conf/ssl.csr/cert.csr SSLCertificateKeyFile /etc/httpd/conf/ssl.key/cert.key ServerName HotSpot SSLProtocol +SSLv2 +SSLv3 <IfDefine HAVE_SSL> Je n'ai mis que la partie qui contient mon hote virtuel.... mais il me semble que sur ce que j'ai pu voir sur le net ils ont _default_:443 à coté de virtual host Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 4 avril 2005 Partager Posté(e) le 4 avril 2005 Est-ce que tu as toujours une copie de ton fichier httpd.conf d'origine. Si oui, je te conseille de recommencer les tests avec celui ci... des fois c'est simplement un seul caractère qui est manquant et qui cause tous les problèmes. *Ton bout d'exemple ne montre pas la partie nécesaire au certificat (SSL) qui commence à "<IfDefine HAVE_SSL>". Bon voici les lignes qu'il faut avoir au minimum (Mes exemples proviennent d'un Apache 1.3.x... mais c'est pratiquement pareil sous Apache 2.x) ---------------------------------------------------------- <IfDefine HAVE_SSL> Listen 80 Listen 443 </IfDefine> <IfDefine HAVE_SSL> AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl </IfDefine> <IfModule mod_ssl.c> SSLPassPhraseDialog builtin SSLSessionCache dbm:logs/ssl_scache SSLSessionCacheTimeout 300 SSLMutex file:logs/ssl_mutex SSLRandomSeed startup builtin SSLRandomSeed connect builtin SSLLog logs/ssl_engine_log SSLLogLevel error </IfModule> <IfDefine HAVE_SSL> <VirtualHost _default_:443> DocumentRoot "/serveur/securewww" ServerName my.server.com ServerAdmin webmaster@my.server.com ErrorLog logs/error_log TransferLog logs/ssl_access_log SSLEngine on SSLCertificateFile /etc/httpd/conf/keys/cert.crt SSLCertificateKeyFile /etc/httpd/conf/keys/cert.key <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> </IfDefine> --------------------------------------------------------------- Ton serveur HTTPS doit répondre sur le port 443, la page de démarrage (dossier) devrait être différente de ton serveur par défaut et le chemin d'acès vers les fichiers de certificats doit être valide ! * Avec Apache 2.x tu va surement retrouver les mêmes options mais dans un ordre différent. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Squall NTCK Posté(e) le 5 avril 2005 Auteur Partager Posté(e) le 5 avril 2005 En tout cas grand pour ton aide J'ai fait des recherche avec l'ami mais mes certificats semblent correctes En fait j'ai 2.... j'arrive à faire 2 config - 1er tourne pas : erreur certificat vide - 2eme il m'affiche la page d'apche, mais pas la mienne voilà ma 1ere config # Virtual host WifiAuthentification <VirtualHost 192.168.182.1:443> DocumentRoot "/var/www" ServerName HotSpot ServerAdmin webmaster@isppc.com ErrorLog logs/error_log TransferLog logs/ssl_access_log SSLEngine on SSLCertificateFile /etc/httpd/conf/key/192.168.182.1.crt SSLCertificateKeyFile /etc/httpd/conf/key/192.168.182.1.key <Files ~ "\.(html|cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> DirectoryIndex splash.html hotspotlogin.cgi index.html index.shtml SSLOptions +StdEnvVars <Directory "/var/www/"> AllowOverride none </Directory> SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <IfDefine HAVE_SSL> Listen 80 Listen 443 </IfDefine> <IfModule mod_ssl.c> SSLPassPhraseDialog builtin SSLSessionCache dbm:logs/ssl_scache SSLSessionCacheTimeout 300 SSLMutex file:logs/ssl_mutex SSLRandomSeed startup builtin SSLRandomSeed connect builtin #SSLLog logs/ssl_engine_log #SSLLogLevel error </IfModule> </VirtualHost> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Squall NTCK Posté(e) le 5 avril 2005 Auteur Partager Posté(e) le 5 avril 2005 Et voilà le 2eme fichiers de config # Virtual host WifiAuthentification <IfDefine HAVE_SSL> Listen 80 Listen 443 </IfDefine> <IfDefine HAVE_SSL> AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl </IfDefine> <IfModule mod_ssl.c> SSLPassPhraseDialog builtin SSLSessionCache dbm:logs/ssl_scache SSLSessionCacheTimeout 300 SSLMutex file:logs/ssl_mutex SSLRandomSeed startup builtin SSLRandomSeed connect builtin #SSLLog logs/ssl_engine_log #SSLLogLevel error </IfModule> <IfDefine HAVE_SSL> <VirtualHost 192.168.182.1:443> DocumentRoot /var/www ServerName hotspot ServerAdmin webmaster@my.server.com ErrorLog logs/error_log TransferLog logs/ssl_access_log SSLEngine on SSLCertificateFile /etc/httpd/conf/key/cert.crt SSLCertificateKeyFile /etc/httpd/conf/key/cert.key <Files ~ "\.(html|cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> DirectoryIndex splash.html hotspotlogin.cgi index.html index.shtml <Directory "/var/www/cgi-bin/"> #AllowOverride none SSLOptions +StdEnvVars </Directory> SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> </IfDefine> <IfDefine HAVE_SSL> </IfDefine> Ils me semblent (mais je n'ai que peu de connaisances dans ce domaine ci) que le 1er fichier resptecte plus la "nomanclature" classique de Apache 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 5 avril 2005 Partager Posté(e) le 5 avril 2005 Les fichiers de ton site sont bien situés dans le dossier /var/www ? Ce dossier est le dossier par défaut d'Apache qui contient probablement les fichiers de la page test. Moi, je me créé toujours un dossier différent (qui est normallement sur une autre partition en plus) du genre /serveur/www et je configure ce chemin d'accès et j'y stocke ma page index.html ! Et puis tu n'as qu'à taper https://192.168.182.1 après avoir redémarrer le Daemon de Apache et ça devrait fonctionner. Comme je peux voir tu as ajouté DirectoryIndex splash.html hotspotlogin.cgi index.html index.shtml Assures-toi de simplement mettre uniquement la "vrai" page que tu veux qui se lance par défaut. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Squall NTCK Posté(e) le 6 avril 2005 Auteur Partager Posté(e) le 6 avril 2005 Bon, j'ai suivi tes conseils, je me suis donc crée un dossier (/server/) qui contiendra mon site [le site sert à afficher un splash screen pour un hotspot gratuit, mais le deamon -- chillisoft -- requiert du https ] donc maintenant, j'ai désactivé la page test d'apache, et lorsque je tape 192.168.182.1 il me efait une page contentant une sorte de listing de mon dossier ( ma page index.html est bien présente) et si je clic sur ma page il fait bien appel à mon script et apache est bien configurer pour chercher la page index.html, le pire c'est qu'il est dans le bon dosser De plus si je tape https://192.xxxx il me dit que la connexion à été coupée brusquement et que j'ai peut être envoyer des données..... Edit: Le https fonctionne, mais j'arrive toujours pas sur la bonne page :s Enfin, c'est pas grave vu que ca ne me sert que pour l'authentification Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 7 avril 2005 Partager Posté(e) le 7 avril 2005 Revenons à la base de la config de Apache. Dans ton fichier httpd.conf, il y a la config générale qui s'applique à Apache et au serveur web "par défaut" et tu retrouves ensuit la config (dans le même fichier) de chaque serveur virtuel dont le serveur qui répond au port sécurisé (443). Assures-toi de ne pas mélanger les deux. Si j'ai un serveur ou plus je fais comme ça: 1- Je créé un dossier /serveur/ 2- Je créé un sous-dossier /serveur/www/ pour le serveur "par défaut" que je fais pointer dessus dans httpd.conf 3- Je créé un sous-dossier /serveur/wwwsecure/ pour mon serveur virtuel HTTPS (443). 4- Si j'ai d'autres serveurs virtuels je fait de même -> /serveur/autreserveur ... Comme ça si quelqu'un fais une requête sur l'adresse IP directement (http://192.168.0.1) sans HTTPS (https://192.168.0.1), il va avoir la page du serveur par défaut dans laquelle je mets un lien automatique qui se dirige vers mon site sécurisé (https://192.168.0.1). NOTE: Il ne faut jamais retrouver 2 serveurs (celui par défaut et/ou virtuels) qui pointent vers le même structure de dossiers (à partir de la racine de chaque serveur) car Apache ne saura pas lequel utiliser... et tu auras accès à tes pages sécurisés de façon non sécurisé. C'est probablement ça ton problème pourquoi tu n'obtiens pas la page d'index. Tu dois avoir configuré ton serveur virtuel pour HTTPS, mais sans donner le index.html dans la config générale. Ces 3 lignes devraient être dans la config générale et non sous un serveur virtuel. -------------------------- <IfModule mod_dir.c> DirectoryIndex index.html </IfModule> ------------------------- Dans la config générale tu dois avoir ça: DocumentRoot "/serveur/www" <Directory /> Options none AllowOverride none Order deny,allow Deny from all </Directory> <Directory /serveur/www> Options none AllowOverride None Order deny,allow Allow from all </Directory> <IfModule mod_dir.c> DirectoryIndex index.html </IfModule> et dans ta section sécurisé: <IfDefine HAVE_SSL> <VirtualHost _default_:443> DocumentRoot "/serveur/wwwsecure" ServerName mon.serveur.com <Directory "/serveur/wwwsecure"> AuthType Basic **** Si tu nécessite une authentification avec htpasswd AuthName MEMBRES **** Si tu nécessite une authentification avec htpasswd AuthUserFile /password/membres **** Si tu nécessite une authentification avec htpasswd Options None Order deny,allow Allow from all <Limit GET> **** Si tu nécessite une authentification avec htpasswd require valid-user **** Si tu nécessite une authentification avec htpasswd </Limit> **** Si tu nécessite une authentification avec htpasswd </Directory> </VirtualHost> </IfDefine> Il faut également que tu retrouve qqchose du genre dans httpd.conf, si tu fais une requête HTTPS ou tu demandes une page index.shtml pour que ton serveur Apache sache qu'il doit répondre en mode SSL: <IfDefine HAVE_SSL> Listen 80 Listen 443 </IfDefine> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.