Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Linux.general

Linux.general : Config apache2 identique avec ou sans SSL

Posté par ploum (page perso, ) le 21 avril 2005
Bonjour,

J'aimerais configurer apache2 avec SSL sur mon serveur Debian Sarge pour que la config avec ou sans SSL soit exactement identique.

(que chaque page soit accessible ou non avec SSL, au choix)

J'ai déjà un fichier certificat apache.pem de ma config apache-ssl, mais je ne sais pas trop quoi en faire.

Toutes les infos que je trouve sur le net concerne, comme avant avec apache-ssl, comment faire une config particulière pour la partie SSL, ce qui n'est pas ce que je cherche.

Qqn a une idée à ce sujet ?

Merci d'avance

> Lire le message (10 commentaires, moyenne: 1,9).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

tant que j'y suis..

Posté par ploum (page perso, ) le 21/04/2005 à 18:51. (lien). Évalué à 2.

Qqn pour me dire les avantages/désavantages de apache2 par rapport à apache1.4 ?

(à part la propreté de la config, qui est bluffante)

  • [^]Re: tant que j'y suis..

    Posté par imalip (page perso, ) le 21/04/2005 à 20:21. (lien). Évalué à 3.

    Tout et rien a la fois, Apache 1.4 n'existe pas :P

    Pour le reste, la liste est la :
    http://httpd.apache.org/docs-2.0/new_features_2_0.html(...)

    Ca va du meilleur support multi-plateformes a l'IPV6 en passant par une remise a plat du systeme de build, etc...

    Surtout, une meilleur gestion des threads (sauf si tu utilises la version prefork, ce qui est generalement le cas avec le PHP)

    Au passage, il y a une meilleure separation entre les API qui gerent le HTTP ou sont plus generiques, ce qui donne la libapr. Cette derniere peut etre reutilisee dans d'autres projets.

    Bon, et a cause de toi, je viens de tomber sur mod-echo, ca me donne une furieuse envie de tenter un mod-jabber et un mod-ssh...

    --
    "While a monkey can be a manager, it takes a human to be an engineer" Erik Zapletal
    • [^]Re: tant que j'y suis..

      Posté par ploum (page perso, ) le 21/04/2005 à 20:28. (lien). Évalué à 2.

      et ça ferait quoi mod-jabber ?

      • [^]Re: tant que j'y suis..

        Posté par imalip (page perso, ) le 21/04/2005 à 20:52. (lien). Évalué à 2.

        Redirection de flux vers un serveur jabber.

        Le genre de machin qu'il serait bien utile pour avoir acces a apache ET jabber sur le port 443 sur la meme machine, ce qu'on est bien content d'avoir quand on est derriere un proxy un peu restrictif :) Meme idee pour le mod-ssh. Je crois qu'il y a deja un mod-pop3 qui traine aussi.

        Un projet avait visiblement debute (cf une recherche de mof-jabber sous google), mais a l'air assez mort, helas...

        Bon, par contre ca risque de faire comme ma precedente tentative de module apache (mod_musicindex). Je vais y penser pendant 6 mois, et m'y mettre d'un seul coup pour bosser 4 jours de suite.

        --
        "While a monkey can be a manager, it takes a human to be an engineer" Erik Zapletal
        • [^]Re: tant que j'y suis..

          Posté par ploum (page perso, ) le 21/04/2005 à 23:24. (lien). Évalué à 2.

          mais c'est génial ça ! Je serais hyper enthousiaste de pouvoir installer ça sur fritalk.com pour permettre à tout le monde d'accéder au serveur Jabber !!

          Mais en pratique, comment ça marche ? Comment il sait quelles requêtes sont pour qui ?

          • [^]Re: tant que j'y suis..

            Posté par imalip (page perso, ) le 22/04/2005 à 06:38. (lien). Évalué à 2.

            Justement, c'est une des nouveautes d'Apache2, la possibilite de travailler sur d'autres protocols que le HTTP pur.

            En pratique, ca a l'air de faire partie de la nouvelle infrastructure de gestions des requetes d'Apache, ou l'on peut avoir des modules a differentes etapes du (des ?) protocol(s).

            Je me pose aussi des questions aussi sur le comment exactement, principalement la differentiation entre les differentes connexions, etc... mais j'ai deplus en plus envie de me lancer la-dedans. Il faudra que j'essaie mod-echo histoire de comprendre mieux.

            Sur ce, je me motive, entretien d'embauche dans 2h30...

            --
            "While a monkey can be a manager, it takes a human to be an engineer" Erik Zapletal
            • [^]Re: tant que j'y suis..

              Posté par ploum (page perso, ) le 22/04/2005 à 09:08. (lien). Évalué à 2.

              en tout cas, tiens moi au courant ! (et bonne m*** pour l'interview)

Avec des NameVirtualHost

Posté par Thomas Hervé () le 22/04/2005 à 08:06. (lien). Évalué à 2.

J'ai une config qui ressemble un peu à ca sous Apache 1.3.

En gros j'ai ca dans mon httpd.conf :

Listen 195.140.143.44:80
Listen 195.140.143.44:443

NameVirtualHost www.xxx.yyy.zzz:80
NameVirtualHost www.xxx.yyy.zzz:443

<VirtualHost www.xxx.yyy.zzz:443>
SSLEngine on
SSLCertificateFile /etc/apache/certs/server_crt.pem
SSLCertificateKeyFile /etc/apache/certs/server_key.pem.unsecure
</VirtualHost>

Bon après ca dépent pas mal si tu utilises des VirtualHost etc... Surtout que si tu as différents hosts ton certificat ssl n'ira pas pour tous les noms et tu aura un méchant avertissement côté browser.

--
Thomas

  • [^]Re: Avec des NameVirtualHost

    Posté par Jay (page perso, ) le 22/04/2005 à 10:39. (lien). Évalué à 1.

    Bon après ca dépent pas mal si tu utilises des VirtualHost ...

    Ben en fait t'as pas trop le choix: pour faire du SSL, y'a que deux possibilités: soit activer le module dans la section principale de la configuration (et dans ce cas c'est tout le serveur qui tournera en ssl!), soit créer un virtual host sur le port 443 (cf doc d'apache pour la directive SSLEngine http://httpd.apache.org/docs-2.0/mod/mod_ssl.html#sslengine(...) : context: server config, virtual host

    que chaque page soit accessible ou non avec SSL, au choix...

    Un peu comme cet excellent site --> https://linuxfr.org(...) ;-P

Exemple

Posté par Jay (page perso, ) le 22/04/2005 à 10:57. (lien). Évalué à 1.

Voila un exemple de configuration qui devrait te convenir (à adapter à ta config). J'ai pris un serveur sur un réseau privé (192.168.xxx.xxx) sans nom DNS, je suppose que tu as tout ce qu'il faut au niveau certificat (Note que c'est les fichiers de conf win32 que j'ai adapté (pas de deb sous la main), sous debian la conf se trouve dans /etc/apache2 dans plusieurs fichiers) :

[httpd.conf]
ServerRoot /etc/apache2
Listen 192.168.0.1:80
ServerName 192.168.0.1:80
DocumentRoot /var/www

<Directory /var/www/>
    Options FollowSymLinks
    AllowOverride None
< /Directory>

<IfModule mod_ssl.c>
    Include conf/ssl.conf
< /IfModule>
. . .
. . .
# EOF
[ssl.conf]
# configuration du générateur aléatoire
# sous win32, seul builtin est dispo
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin

# l'endroit (fichier) ou stocker le cache ssl, cf
# http://httpd.apache.org/docs-2.0/mod/mod_ssl.html(...)
# pour les autres options disponibles
SSLSessionCache dbm:/chemin/vers/ssl_cache

<IfDefine SSL>

# où apache doit ecouter? par défaut toutes les
# interfaces sur le port 443 (https)
# /!\ complémentaire de ServerName qui donne
# seulement le nom du serveur !
# Listen 443
Listen 192.168.0.1:443

# définit les types mimes nécessaires
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

# cf doc ...
SSLPassPhraseDialog  builtin
SSLSessionCacheTimeout  300
SSLMutex default

# création d'un hôte virtuel par IP
# /!\ rechercher sur google.com pour
# la différence entre hôte par ip et
# par nom et l'impact au niveau certificat
<VirtualHost 165.5.12.241:443>

  ServerName 192.168.0.1:443
  ServerAdmin admin@localhost.localdomain

  # la racine des documents
  DocumentRoot /var/www

  #configuration du log
  CustomLog /var/log/Apache2/access.log common
  ErrorLog /var/log/apache2/error.log
  LogLevel warn

  #configuration SSL
  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

  # où trouver les certificats ?
  SSLCertificateFile "conf/ssl/192.168.0.1.crt"
  SSLCertificateKeyFile "conf/ssl/192.168.0.1.key"
  SSLCertificateChainFile "conf/ssl/ca.crt"

  # workaround pour les browser mal foutus ;-)
  SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

< /VirtualHost>
< /IfDefine>
# EOF
Quelques précisions: - consulte la doc sur le site apache pour toutes les options dispo (je sais c'est en anglais mais au moins y'a tout sans erreur de traduction!) - ta clé privée ne doit pas être cryptée ou tu dois ajouter une option (SSLPassPhraseDialog) pour indiquer à apache la clé de déchiffrage au démarrage d'apache - le DocumentRoot du serveur principal et de l'hôte virtuel doivent pointer sur le même répertoire (pour avoir le même contenu :-P) Voilà, ca devrait marcher comme çà! Bonne chance, Jay

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.general