Attention ! Ne cliquez pas sur ce lien, c'est un piège à enfoirés du net !

Chez oim, forum libreChez oim, forum libre

 


Pages: [1] 2  Toutes   En bas

Auteur Sujet: Problème de configuration SSL Apache  (Lu 7790 fois)

BoaaPotPot

  • Orateur balbutiant
  • Hors ligne Hors ligne
  • Messages: 6
Problème de configuration SSL Apache
« le: dimanche 31 mars 2019, 16:06 »
le: dimanche 31 mars 2019, 16:06

Bonjour

J'essaye de publier mon site web en https sans succès et quand je regarde de plus près j'ai l'impression d'avoir des incohérences ...

Sur Windows 7 32 bits, j'ai installé WampServer 3.1.4. J'ai déclaré mon VirtualHost dans Apache et ai décompacté le fichier.zip fourni pour l'installation de mon CMS (Dolibarr). L'installation se passe bien et à la fin j'ai mon site web qui fonctionne bien en http sur le port 80.

J'ai actuellement sur mon LAN un serveur AD Windows avec le rôle "Accès en tout lieu" configuré qui utilise le port 443, hors de question de changer ce port public sur ce serveur.
J'aurai pu faire fonctionner mon WampServer en local sur le port 443 puis sur mon routeur de natter le 4343 entrant vers le 443 local mais alors je ne vais plus joindre le service web avec la même adresse lorsque je me connecte en local ou depuis l'extérieur, j'imagine que ça va poser problèmes au niveau du site web ... me trompe je ?

J'ai une question pour solder cette réflexion ...

J'ai cru comprendre que le numéro de port ne semblait pas nécessaire à la création d'un certificat SSL. Pouvez vous me confirmer que le certificat pour le site h t t p s : / / site1.mondomaine.fr est le même que pour le site h t t p s : / / site1.mondomaine.fr:4343 ?
(Çà contredirait ce que je dis plus haut)

J'ai ajouter un "listen port à Apache" dans WampManager pour utiliser le port 4343.

Ok, mon site1 ainsi que les utilitaires habituels (phpmyadmin, ...) fonctionnent en http sur le port 4343.
Le nom de mon VirtualHost dans Apache est de la forme h t t p : / / site1.mondomaine.fr:4343, j'ai natté le port TCP 4343 entrant et ajouté un enregistrement dans mon DNS AD, le site est accessible via cette adresse en interne comme depuis l'extérieur.

J'ai créé un second VirtualHost dans Apache avec un nom de la forme h t t p : / / site2.mondomaine.fr:4343 dans le quel j'ai déployé un site qui fonctione en interne comme en externe. Il est prévu d'avoir un site3.

Dans une fenêtre de commande, httdp -t me renvoie une Syntaxe correcte.

Je souhaite passer maintenant au httpS sur le port 4343.

J'ai bien lu l'excellent tuto h t t p s ://chez-oim.org/index.php?topic=1980.0 que j'essaye de le mettre en oeuvre ...

J'ai créé un certificat un certificat wildcart via authentification DNS.
J'ai modifié diverses lignes dans ma config Wamp pour l'intégrer.

A la fin, je peux toujours naviguer le site1 en http mais en httpS j'ai une erreur :
Une erreur est survenue pendant une connexion à site1.mondomaine.fr:4343. SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée. Code d’erreur : SSL_ERROR_RX_RECORD_TOO_LONG

Pour cette erreur, la doc Apache me dit : Le module d'Apache est activée mais son vhost est absent ou sa configuration ne contient pas SSLEngine on.
Si si SSLEngine est bien donné On !

Plus bas mes fichiers complets.

J'ai bien SSLEngine on, SSLCertificateFile et SSLCertificateKeyFile déclaré dans httpd-ssl.conf. J'imagine qu'il s'applique à tous les sites ... me trompe ? J'ai essayé en déplacant ces lignes dans chaque VirtualHost de httpd-vhost.conf mais Apache ne démarre plus :-( Je me dis que vu que le certificat est wildcard ça devrait aller mais non.

Toujours dans httpd-ssl.conf, j'ai en première ligne un "Listen 443" qui me froisse un peu mais si je change pour 4343 Apache ne démarre plus :-(

Pouvez vous me dire ce qui pose problème dans ma configuration ou dans ma réflexion ?

Je vous remercie pour l'aide que vous m'apporterez.
@+Laurent



Mon fichier httpd-ssl.conf (j'ai supprimé tous les commentaires)
Code
Listen 443
SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
SSLHonorCipherOrder on 
SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3
SSLPassPhraseDialog  builtin
SSLSessionCache        "shmcb:${SRVROOT}/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300
<VirtualHost _default_:4343>
DocumentRoot "C:/SitesWeb/Dolibarr"
ServerName gestionco.a2systemes.fr:4343
ServerAdmin admin@example.com
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/cert/certificat.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/key/cle.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "${INSTALL_DIR}/www">
    SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "${SRVROOT}/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>  
                               

---------------------------------------

Mon fichier httpd-vhost.conf

Code
<VirtualHost *:80>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www"
  <Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

<VirtualHost *:${MYPORT4343}>
	ServerName site1.mondomaine.fr
	DocumentRoot "C:/SitesWeb/Dolibarr"
	<Directory  "C:/SitesWeb/Dolibarr/">
		Options +Indexes +Includes +FollowSymLinks +MultiViews
		AllowOverride All
		Require all granted
	</Directory>
</VirtualHost>

<VirtualHost *:${MYPORT4343}>
	ServerName site2.mondomaine.fr
	DocumentRoot "C:/SitesWeb/suitecrm"
	<Directory  "C:/SitesWeb/suitecrm/">
		Options +Indexes +Includes +FollowSymLinks +MultiViews
		AllowOverride All
		Require local
	</Directory>
Signaler au modérateur   IP archivée

Otomatic

  • Observateur
  • Pipelette pathologique
  • ******
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 1.651
  • Vieux geek assagi
      • Aviatechno
Problème de configuration SSL Apache
« Réponse #1 le: dimanche 31 mars 2019, 17:34 »
le: dimanche 31 mars 2019, 17:34

Bonjour,

Je ne fait aucun support Wampserver sur ce forum. Si vous lisez toute cette enfilade, vous trouverez une procédure pour supporter https dans laquelle vous pourrez voir que les VirtualHost https port 443 (fichier httpd-ssl.conf) sont séparés des VirtualHost http port 80 (fichier httpd-vhost.conf) et qu'il n'y a pas besoin d'ajouter un listen port (Voir ci-dessous)

> Pour cette erreur, la doc Apache me dit : Le module d'Apache est activée mais son vhost est absent
La doc Apache dit aussi que un VirtualHost http port 80 doit coexister pour un VirtualHost https ssl :
# Lorsque nous utilisons SSL, nous devons écouter le port HTTP standard et le port HTTPS.

> Toujours dans httpd-ssl.conf, j'ai en première ligne un "Listen 443" qui me froisse un peu
> mais si je change pour 4343 Apache ne démarre plus
Parce qu'en ayant ajouté un Listen Port 4343 (${MYPORT4343}
) vous avez automatiquement ajouté dans httpd.conf :
Listen 0.0.0.0:${MYPORT4343}
Listen [::0]:${MYPORT4343}
et que on ne peut pas dupliquer le même Listen.
Signaler au modérateur   IP archivée
« La vie sans musique est tout simplement une erreur, une fatigue, un exil. » Friedrich Nietzsche.
« Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison. » Coluche

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Problème de configuration SSL Apache
« Réponse #2 le: mardi 02 avril 2019, 20:07 »
le: mardi 02 avril 2019, 20:07

Commence donc simplement avec la config minimale.
Après, tu ajouteras tes trucs.

ATTENTION ! Il s'agit d'une config complétement pourrie récupérée d'après ton boulot et qu'il ne faut surtout pas utiliser sur un site en production !
Code
Listen 4343
<VirtualHost *:4343>
DocumentRoot "C:/SitesWeb/Dolibarr"
ServerName gestionco.a2systemes.fr:4343
ServerAdmin admin@example.com
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
SSLEngine on
SSLCertificateChainFile "${SRVROOT}/conf/cert/certificat.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/key/cle.key"
</VirtualHost>

SSLProtocol all -SSLv3
SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
SSLHonorCipherOrder on 
SSLSessionCache shmcb:C:/Windows/Temp/ssl_scache(512000)
SSLSessionCacheTimeout  300


Fais attention aux directives SSLCertificateChainFile qui désigne un certificat en contenant deux, le tien et celui de l'autorité.
Et SSLCertificateFile qui ne contient que ton certificat et doit être accompagné du certificat de l'autorité avec la directive SSLCACertificateFile

Pour répondre à ta question, un certificat fonctionne sur n'importe quel port.

Pourquoi ne pas utiliser le port 443 ?
Tu te compliques la vie pour pas grand chose...
Signaler au modérateur   IP archivée

Otomatic

  • Observateur
  • Pipelette pathologique
  • ******
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 1.651
  • Vieux geek assagi
      • Aviatechno
Problème de configuration SSL Apache
« Réponse #3 le: mercredi 03 avril 2019, 09:35 »
le: mercredi 03 avril 2019, 09:35

Bonjour,

Il faut aussi supprimer le Listen port 4343 ajouté dans Wampserver :
Clic-Droit -> Outils -> Supprimer un Listen port Apache -> Supprimer Listenport Apache 4343

Et, comme expliqué dans :
https://chez-oim.org/index.php/topic,2179.msg37106.html#msg37106
le mettre dans le fichier conf\extra\httpd-ssl.conf par :

Code
Listen 4343 https

Il faut y ajouter le protocole https car il ne s'agit pas du port standard 443
Voir la doc Apache : http://httpd.apache.org/docs/2.4/fr/mod/mpm_common.html#listen
Signaler au modérateur   IP archivée
« La vie sans musique est tout simplement une erreur, une fatigue, un exil. » Friedrich Nietzsche.
« Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison. » Coluche

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Problème de configuration SSL Apache
« Réponse #4 le: mercredi 03 avril 2019, 20:29 »
le: mercredi 03 avril 2019, 20:29

Non, l'indication du protocole n'est pas nécessaire. Le port suffit.
Je viens d'essayer et ça marche très bien sans le protocole. D'ailleurs, j'ai toujours utilisé listen avec le port seul.

Je ne sais pas pourquoi Apache demande ça.
A la limite, ça rend la config plus lisible si le protocole est indiqué.
Mais bon, c'est une config Apache ! A part HTTP et HTTPS, y a rien d'autre...



En attendant, notre amis BoaaPotPot (très simple à retenir) courre toujours avec ou sans son problème. On ne le saura que quand il aura fait demi tour.
Rattrapez-le ! :ka:
Signaler au modérateur   IP archivée

JCFM

  • Invité
Problème de configuration SSL Apache
« Réponse #5 le: jeudi 04 avril 2019, 08:48 »
le: jeudi 04 avril 2019, 08:48

Question qui peut paraître bête à OTO et Sa Majesté !

Avec Wamp, j'ai huit sites.
Donc huit répertoires avec le CMS "Wordpress".
Serait-il possible d'avoir un seul répertoire Wordpress avec les différents thèmes et extensions utilisées par les huit sites ?

 :it:

Signaler au modérateur   IP archivée

Otomatic

  • Observateur
  • Pipelette pathologique
  • ******
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 1.651
  • Vieux geek assagi
      • Aviatechno
Problème de configuration SSL Apache
« Réponse #6 le: jeudi 04 avril 2019, 09:19 »
le: jeudi 04 avril 2019, 09:19

Je viens d'essayer et ça marche très bien sans le protocole.
La documentation Apache dit bien que ce n'est que pour https si ce n'est pas le port 443.
Citation de: Documentation Apache - Directive Listen
L'argument optionnel protocole n'est pas nécessaire dans la plupart des configurations. S'il est absent, https est la valeur par défaut pour le port 443 et http l'est pour tous les autres ports.
Signaler au modérateur   IP archivée
« La vie sans musique est tout simplement une erreur, une fatigue, un exil. » Friedrich Nietzsche.
« Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison. » Coluche

JCFM

  • Invité
Problème de configuration SSL Apache
« Réponse #7 le: jeudi 04 avril 2019, 09:22 »
le: jeudi 04 avril 2019, 09:22

donc 8 "wp-config" différents en les renommant
 :it:
Signaler au modérateur   IP archivée

Otomatic

  • Observateur
  • Pipelette pathologique
  • ******
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 1.651
  • Vieux geek assagi
      • Aviatechno
Problème de configuration SSL Apache
« Réponse #8 le: jeudi 04 avril 2019, 09:57 »
le: jeudi 04 avril 2019, 09:57

JC, ce n'est pas à toi que je répondais, mais à Alex.

Tu n'aurais pas dû venir poser ta question dans cette enfilade  :jc:
Ça ne me paraît pas possible d'avoir un seul dossier Wordpress pour huit sites différents.
Signaler au modérateur   IP archivée
« La vie sans musique est tout simplement une erreur, une fatigue, un exil. » Friedrich Nietzsche.
« Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison. » Coluche

JCFM

  • Invité
Problème de configuration SSL Apache
« Réponse #9 le: jeudi 04 avril 2019, 10:41 »
le: jeudi 04 avril 2019, 10:41

JC, ce n'est pas à toi que je répondais, mais à Alex.
J'avais compris,
Tu n'aurais pas dû venir poser ta question dans cette enfilade  :jc:
Ouaïs, pas grave !
Ça ne me paraît pas possible d'avoir un seul dossier Wordpress pour huit sites différents.
C'est bien, ce qu'il me semblais !
Merci Oto



Messages du même membre fusionnés car compris dans le délai d'édition. (Vous avez 30 minutes pour éditer)

semblait ! pfffffffff
Signaler au modérateur   IP archivée

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Problème de configuration SSL Apache
« Réponse #10 le: jeudi 04 avril 2019, 20:13 »
le: jeudi 04 avril 2019, 20:13

Moi aussi, ça ne me parait pas faisable.
WordPress est "mono-site". 8 sites, c'est 8 WordPress. :iz:


Oto :
Je sais bien, j'ai lu la doc Apache.
Mais je te dis que c'est pas nécessaire. J'ai essayé en utilisant le port 4343 sans indication du protocole, en SSL, et ça marche quand même.
Je le répète, j'ai toujours indiqué les ports sans préciser le protocole dans mes configs.

Je persiste... :iq:
Je ne sais pas pourquoi Apache demande ça.
A la limite, ça rend la config plus lisible si le protocole est indiqué.
Mais bon, c'est une config Apache ! A part HTTP et HTTPS, y a rien d'autre...
Signaler au modérateur   IP archivée

JCFM

  • Invité
Problème de configuration SSL Apache
« Réponse #11 le: jeudi 04 avril 2019, 20:21 »
le: jeudi 04 avril 2019, 20:21

Merci les Chefs !
 :ko:
Signaler au modérateur   IP archivée

BoaaPotPot

  • Orateur balbutiant
  • Hors ligne Hors ligne
  • Messages: 6
Problème de configuration SSL Apache
« Réponse #12 le: jeudi 04 avril 2019, 21:06 »
le: jeudi 04 avril 2019, 21:06

Bonsoir à tous

Déjà un gros merci pour toutes vos réponses  :ib:

Il va falloir que je relise que je relise plusieurs fois pour essayer de bien comprendre, mais je peux répondre à certaines questions

Pour répondre à ta question, un certificat fonctionne sur n'importe quel port.

Cool, bonne info, merci.

Je vais regarder et essayer le code que tu me proposes ...

doit être accompagné du certificat de l'autorité avec la directive SSLCACertificateFile

Pour ça, j'ai cru comprendre qu'avec PHP v5.6 il n'y a plus besoin ... me trompe ?
J'ai d'ailleurs trouvé cette info quand j'ai cherché sans trouver celui de Let's Encrypt.

Pourquoi ne pas utiliser le port 443 ?
Tu te compliques la vie pour pas grand chose...

Hum, j'ai peur que non ... J'ai une box internet avec 1 ip fixe, j'ai déjà un serveur IIS qui squatte le 443 externe. Que me proposes tu d'autre comme solution ?

Bonjour,

Il faut aussi supprimer le Listen port 4343 ajouté dans Wampserver :
Clic-Droit -> Outils -> Supprimer un Listen port Apache -> Supprimer Listenport Apache 4343

Et, comme expliqué dans :
https://chez-oim.org/index.php/topic,2179.msg37106.html#msg37106
le mettre dans le fichier conf\extra\httpd-ssl.conf par :

Code
Listen 4343 https

(probale solution à mes soucis ... merci)
Je vais reprendre un cachet pour les nerfs et vais tenter de me remettre à l'ouvrage.

Encore nombreux mercis à tous.
@+Laurent
Signaler au modérateur   IP archivée

alex

  • Administrateur
  • Moulin à paroles
  • ********
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 23.065
  • Proprio officiel chez oim !
Problème de configuration SSL Apache
« Réponse #13 le: jeudi 04 avril 2019, 23:07 »
le: jeudi 04 avril 2019, 23:07

Salut,


Pour ça, j'ai cru comprendre qu'avec PHP v5.6 il n'y a plus besoin ... me trompe ?
J'ai d'ailleurs trouvé cette info quand j'ai cherché sans trouver celui de Let's Encrypt.

Ca ne concerne pas PHP mais Apache.
Si tu veux le certificat intermédiaire de Lets Encrypt (on appelle le certificat intermédiaire Bundle), tu peux le charger directement ici :
https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
C'est un fichier .pem, mais ça ne pose pas de problème. Sous Linux, les certificats ont cette extension. Tu peux renommer en .crt ou .cer sans aucun souci.


Hum, j'ai peur que non ... J'ai une box internet avec 1 ip fixe, j'ai déjà un serveur IIS qui squatte le 443 externe. Que me proposes tu d'autre comme solution ?

Tu as un serveur IIS ?! En voilà une drôle d'installation...
Pourquoi ne pas opter pour du tout Apache ou du tout IIS ?

Jongler avec 2 serveurs HTTP, c'est pas la panacée. Sous Windows, c'est encore pire...
Et pour le HTTP, tu fais comment ? Port 80 pour un et un port X pour l'autre ? Oulala !


J'attends de tes nouvelles pour savoir si ça marche. ;)
Signaler au modérateur   IP archivée

BoaaPotPot

  • Orateur balbutiant
  • Hors ligne Hors ligne
  • Messages: 6
Problème de configuration SSL Apache
« Réponse #14 le: vendredi 05 avril 2019, 10:32 »
le: vendredi 05 avril 2019, 10:32

Bonjour

Si tu veux le certificat intermédiaire de Lets Encrypt (on appelle le certificat intermédiaire Bundle), tu peux le charger directement ici :
https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem

Merci pour l'info, je vais regarder avec ce certificat.

Tu as un serveur IIS ?! En voilà une drôle d'installation...
Pourquoi ne pas opter pour du tout Apache ou du tout IIS ?

Je sais, j'ai honte aussi (je le vis bien, ne t'inquiète pas  ^-^), je n'ai pas réussi à installer correctement PHP sur IIS.

Tout sur Apache, ce n'est pas possible (je parle du rôle "Accès en tout lieu" sur IIS de Windows serveur).

Je m'inquiète aussi pour ma sécurité (je ne suis pas certain de ne pas avoir de faille dans mon installation Apache et ne souhaite pas mettre mon AD en péril), actuellement mon Apache n'est pas sur le même réseau local que mon AD. J'ai un routeur Zyxel dans lequel les règles permettent au "Lan AD" de causer au "Lan Apache" mais pas l'inverse.

Et pour le HTTP, tu fais comment ? Port 80 pour un et un port X pour l'autre ? Oulala !

Le port 80 n'est pas routé sur mon IIS, il s'en passe très bien.

Cette remarque m'amène une nouvelle question ... j'ai cru comprendre que Apache avait besoin du http pour faire du https (me trompe je ?), ma question : pourquoi ? Si je ne route pas le 80 sur mon Apache, quelles vont être les implications ?
Je n'ai pas besoin d'une redirection de http vers https si le visiteur se trompe en tapant l'adresse.

Merci pour ton aide
@+Laurent
Signaler au modérateur   IP archivée
Pages: [1] 2  Toutes   En haut
 

Page générée en 0.127 secondes avec 21 requêtes.