2012-02-03 3 views
13

Est-il possible que le protocole SSL et le protocole non-SSL soient exécutés sur le même serveur dans Apache 2.x? Donc, si j'accède http://example.com (non-SSL) et https://example.com (SSL), ils seraient tous les deux disponibles.Même serveur, SSL et non SSL

Si oui, aurais-je besoin de créer un hôte virtuel? À quoi ressemblerait cette directive VirtualHost, quelqu'un pourrait-il me donner un exemple? (En supposant que j'ai déjà les certificats)

+0

Souhaitez-vous que les adresses SSL et non SSL accèdent au même site? – austin1howard

+2

Ceci n'est en aucun cas lié à la programmation et est offtopic ici. –

+1

@ EugeneMayevski'EldoSCorp: la programmation du serveur peut être appelée programmation au sens traditionnel. –

Répondre

20

Oui, vous ajoutez simplement un autre VirtualHost portant le même nom sur le port 443 (HTTPS). Définissez SSLProtocol sur whichever protocols que vous souhaitez autoriser.

<VirtualHost *:80> 
    ServerName your-domain.com 
    DocumentRoot /var/www/your-domain-root 
</VirtualHost> 

<VirtualHost *:443> 
    DocumentRoot /var/www/your-domain-root 
    ServerName your-domain.com 
    SSLEngine On 
    SSLOptions +StrictRequire 
    SSLCertificateFile /path/to/server.crt 
    SSLCertificateKeyFile /path/to/server.key 
    SSLProtocol TLSv1 
</VirtualHost>