• Windows
  • [HELP] https sur apache2 et windows

Bonjour

sous windows 10 pro,
J'ai enfin pu mettre un https sur mon site mais voila cela fonctionne uniquement sur le site 1 j'ai crée le certificat pour le nom de domaine site 1 et j'ai créé un autre certificat pour le site 2 mais il y a que le site 1 qui fonctionne en passant par : https://www.sslforfree.com

Dans la config ahssl.conf j'ai :

<VirtualHost *:443>
  
  ServerName www.site1.fr:443
  SSLEngine on
  SSLCertificateFile "C:/web/Apache24/conf/ssl/certificate-asite1.crt"
  SSLCertificateKeyFile "C:/web/Apache24/conf/ssl/private-site1.key"
  DocumentRoot "R:/VAR/site1"
	<Directory "R:/VAR/site1">
	Options Indexes FollowSymLinks
	Require all granted 
	</Directory>
</virtualhost> 

<VirtualHost *:443>

  SSLEngine on
  ServerName www.site2.fr:443
  SSLCertificateFile "C:/web/Apache24/conf/ssl/site2/certificate-site2.crt"
  SSLCertificateKeyFile "C:/web/Apache24/conf/ssl/site2/private-site2.key"
   DocumentRoot "R:/VAR/site2"
  	<Directory "R:/VAR/site2">
	Options Indexes FollowSymLinks
	Require all granted 
	</Directory>
</virtualhost>

Merci

Bonjour @dj54, il y'a des modifications autres à faire sur apache2.

Premièrement ton vhost est pas correct.
Tu devrais en avoir 2, site1.conf et site2.conf.
La ligne ServerName devrait pas contenir :443
Dans ton fichier ports.conf tu dois rajouter cette ligne :
NameVirtualHost *:443

Si tu as laisser les fichiers par défaut sites-enable/default-ssl il faut modifier la ligne :
<VirtualHost _default_:443>
en
<VirtualHost *:443>

Ça permettra à apache de savoir quel vhost fournir en fonction de la demande.

MattProd a renommé le titre en [HELP] https sur apache2 et windows.

Les fichiers de conf que vous citez sont issu de linux je suis sous Windows sites-enable port.conf existe pas

merci

Autant pour moi, j'ai fait de mémoire... il y a tres longtemps que j'avais pas installer un WAMP sur windows.

Alors dans ton fichier httpd_vhosts.conf tu ajoute la ligne Include conf/extra/sites/*.conf
Je pars du principe que dans ce dernier il n'y a aucun vhost de configuré et que l'on va les configurer dans un autre dossier sites
J'ai créer un dossier sites dans le dossier c:\xampp\apache\conf\extra\ pour contenir les 2 vhosts des 2 sites.
Dans chaque vhosts j'ai pondu ca : domaine1.conf et domaine2.conf

<VirtualHost *:80>
	ServerAdmin admin@domaine1.com
	DocumentRoot "C:\xampp\htdocs\sites1"
	ServerName domaine1.com
	ErrorLog "logs/domaine1.com-error.log"
	CustomLog "logs/domain1.com-access.log" common
</VirtualHost>

<VirtualHost *:443>
	ServerAdmin admin@domaine1.com
	DocumentRoot "C:\xampp\htdocs\sites1"
	ServerName domaine1.com
	Alias /.well-know "C:\xampp\htdocs\sites1\.well-know"
	ErrorLog "logs/domaine1.com-error.log"
	CustomLog "logs/domaine1.com-access.log" common
</VirtualHost>

A mettre donc une fois dans le fichier vhost du site1 et dans celui du site2 en adaptant.

Voila pour ma part j'ai réussi, à avoir les 2 sites, et leur certificats avec well-know et letsencrypt windows

Voila apres on peut rajouter du RewriteRule pour forcer à passer du http à https.

N'hésite pas à demander si tu bloque.

Merci

j'ai tester votre méthode cela fonctionne pas
je ne vois pas comment la conf peu lire l adresse du certificat ?

j'ai du mieux avec une autre méthode mais toujours pas ça
toujours dans conf/extra/httpd-ahssl.conf/

<VirtualHost *:443>
ServerName www.site1.fr:443
SSLEngine on
SSLCertificateFile "C:/web/Apache24/conf/ssl/certificate-asite1.crt"
SSLCertificateKeyFile "C:/web/Apache24/conf/ssl/private-site1.key"
DocumentRoot "R:/VAR/site1"
<Directory "R:/VAR/site1">
Options Indexes FollowSymLinks
Require all granted
</Directory>
</virtualhost>

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile "C:/web/Apache24/conf/ssl/site2/certificate-site2.crt"
SSLCertificateKeyFile "C:/web/Apache24/conf/ssl/site2/private-site2.key"
ServerName www.site2.fr:443
DocumentRoot "R:/VAR/site2"
</virtualhost>

quand je supprime cette commande pour accorder la permission
<Directory "R:/VAR/site2">
Options Indexes FollowSymLinks
Require all granted
</Directory>
mon site 2 fonctionne avec et sans les www avec certificat et mon site 1 fonctionne parfaitement
Mais j'ai une page pour le site 2 uniquement
Forbidden
You don't have permission to access this resource.

bizarre

Vhost du domaine 1 dans C:\xampp\apache\conf\extra\sites\vhost1.conf

<VirtualHost *:80>
	ServerAdmin admin@domaine1.com
	DocumentRoot "C:\xampp\htdocs\sites1"
	ServerName domaine1.com
	ErrorLog "logs/domaine1.com-error.log"
	CustomLog "logs/domaine1.com-access.log" common
	RewriteEngine On
	RewriteCond %{HTTPS} off
	RewriteRule ^/?(.*)$ https://domaine1.com/$1 [NE,L,R=301]
</VirtualHost>

<VirtualHost *:443>
	ServerAdmin admin@domaine1.com
	DocumentRoot "C:\xampp\htdocs\sites1"
	ServerName domaine1.com
	Alias /.well-know "C:\xampp\htdocs\sites1\.well-know"
	ErrorLog "logs/domaine1.com-error.log"
	CustomLog "logs/domaine1.com-access.log" common
	
	SSLEngine on
	SSLCertificateFile "C:\letsencrypt-simple\domaine1.com-crt.pem"
	SSLCertificateKeyFile "C:\letsencrypt-simple\domaine1.com-key.pem"
	SSLCertificateChainFile "C:\letsencrypt-simple\domaine1.com-chain.pem"
</VirtualHost>

Vhost du domaine 2 dans C:\xampp\apache\conf\extra\sites\vhost2.conf

<VirtualHost *:80>
	ServerAdmin admin@domaine2.com
	DocumentRoot "C:\xampp\htdocs\sites2"
	ServerName domaine2.com
	ErrorLog "logs/domaine2.com-error.log"
	CustomLog "logs/domaine2.com-access.log" common
	RewriteEngine On
	RewriteCond %{HTTPS} off
	RewriteRule ^/?(.*)$ https://domaine2.com/$1 [NE,L,R=301]
</VirtualHost>

<VirtualHost *:443>
	ServerAdmin admin@domaine2.com
	DocumentRoot "C:\xampp\htdocs\sites2"
	ServerName domaine2.com
	Alias /.well-know "C:\xampp\htdocs\sites2\.well-know"
	ErrorLog "logs/domaine2.com-error.log"
	CustomLog "logs/domaine2.com-access.log" common
	
	SSLEngine on
	SSLCertificateFile "C:\letsencrypt-simple\domaine2.com-crt.pem"
	SSLCertificateKeyFile "C:\letsencrypt-simple\domaine2.com-key.pem"
	SSLCertificateChainFile "C:\letsencrypt-simple\domaine2.com-chain.pem"
</VirtualHost>

fichier httpd-vhosts.conf dans C:\xampp\apache\conf\extra\
Include conf/extra/sites/*.conf

Bon j'ai refais la config proprement maintenant j’utilise ssl.conf

ça fonctionne pour le site 2 par contre le site 1 fonctionne bien sans les permissions

mais des que je rajoute les permissions directory le certificat n’est plus lu (comprend pas) alors que pour le site 2 pas de souci

 <Directory "R:/VAR/site1">
       Options Indexes Includes FollowSymLinks Includes ExecCGI
       AllowOverride All
        Require all granted
</Directory>

Dans quel fichiers tu mets tes vhosts ?

j'utilise pas xamp mais apache 2
c'est dans le dossier par défaut:
c: appache24/conf/extra/httpd-ssl.conf

c: appache24/conf/extra/vhosts.conf

XAMPP ou pas, apache2 garde le meme fonctionnement.
Pour moi tu devrais séparer les vhosts.
Avoir un fichier pour le site1 et un pour le site2.
Ne pas toucher à httpd-ssl.
Donc dans le dossier tu créer un dossier vhosts par exemple.
Laisser vhosts.conf à l'originale pour l'instant et lui inclure une ligne Include conf/extra/vhosts/*.conf

le fichier vhosts.conf permet de centraliser, mais si tu lui met tout dedans il doit avoir du mal a lire.

J'ai ajouter tes lignes aux configurations des 2 sites :

<Directory "R:/VAR/site1">
       Options Indexes Includes FollowSymLinks Includes ExecCGI
       AllowOverride All
        Require all granted
</Directory>

Et je n'ai aucunes erreurs de certificats.

6 jours plus tard

Cela ne change rien j'ai testé avec un seul site avec le site1 c'est le même problème par contre le site 2 fonctionne je comprends pas
j'ai même tester avec un autre domaine j'ai le même souci que le site 1 il y a que le site 2 qui fonctionne

Répondre…