web-dev-qa-db-fra.com

Bind Apache SSL Port avec un port différent avec le même port OpenSSL 443

J'ai un serveur (Base Linux) dans laquelle j'ai installé Dotcms et il s'exécute sur le port 80 et OpenSSL est sur le port 443. Les deux sont démarrés en cours d'exécution. Récemment, j'ai installé Apache sur mon serveur. Et lorsque j'ai démarré Apache, il est bloqué car le port SSL par défaut sur Apache est 443 et Apache est 80, les deux sont déjà en cours d'exécution. Juste pour ma tâche, j'ai commencé uniquement Apache sans SSL sur le port 90. Mais je veux démarrer SSL avec Apache également évidemment sur un port différent. Est possible de lier Apache SSL avec les mêmes openssl?

J'ai besoin de mes dotcms par défaut dans le processus d'exécution, je ne peux pas l'arrêter dans aucun cas, je ne peux que redémarrer mon service DOTCMS si Apache Démarrer est requis. Mais j'ai besoin de Dotcms et d'Apache pour exécuter des deux parallèles.

voir l'image sur ce lien (en raison de la non-réputation, je n'ai pas pu télécharger de l'image) http://developers89.byethost14.com/images/sssl.png

8
Waqas Ahmed

Oui, il est possible de lier Apache à différents port et d'utiliser toujours SSL.

Remplacez les directives Listen dans votre configuration Apache. La configuration doit contenir une ligne comme

Listen 80
Listen 443

Apache écoutera sur les ports définis avec ces options de configuration. Remplacez-les et Apache écoutera sur un autre port.

Cependant, vous devez toujours dire Apache à quoi servir sur les ports ci-dessus. Supposons que vous souhaitiez que Apache commence à écouter sur le port 8080 (plaine) et 4433 (SSL). Ensuite, vous devez remplacer les directives d'écoute à

Listen 8080
Listen 4433

Après cela, définissez deux virtualhosts sur ces ports comme celui-ci:

NameVirtualHost 0.0.0.0:8080
NameVirtualHost 0.0.0.0:4433

<VirtualHost 0.0.0.0:8080>
    ServerName the.server.name
    ServerAlias *
    DocumentRoot /var/www/plain
</VirtualHost>

<VirtualHost 0.0.0.0:4433>
    ServerName the.server.name
    ServerAlias *
    DocumentRoot /var/www/ssl

    SSLEngine On
    SSLCertificateFile /the/certificate/file
    SSLCertificateKeyFile /the/key/file
</VirtualHost>

Si vous n'avez plus de définition VirtualHost, vous n'avez pas à inclure la directive ServerAlias (ou le ServerName, à ce sujet).

Si vous redémarrez Apache, il écoute le 8080 pour les connexions non cryptées et sur le port 4433 pour SSL. Assurez-vous de ne pas avoir d'ancienne définition VirtualHost contenant le mauvais numéro de port.

17
Lacek