Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/08/2009, à 12:15

®om

[Résolu] Rediriger HTTP vers HTTPS avec apache?

Salut,


Je voudrais, quand je vais sur http://monsite.fr (sur le port 80 donc), être automatiquement redirigé vers https://monsite.fr. J'imagine qu'apache a prévu le coup et que je n'ai pas à faire manuellement un site monsite.fr qui contient une page qui redirige vers le https.

Comment faire ceci?


Petite question au passage, que signifie le * de <VirtualHost *:443> (c'est la même chose avec *:80), vu que de toute façon le nom du serveur est défini dans ServerName, je ne comprends pas bien ce que filtre le * :

NameVirtualHost *:443
<VirtualHost *:443>
	SSLEngine on

Merci d'avance.

Dernière modification par ®om (Le 30/08/2009, à 17:44)

Hors ligne

#2 Le 30/08/2009, à 15:40

anonym_user

Re : [Résolu] Rediriger HTTP vers HTTPS avec apache?

Je n'ai pas trop le temps de t'aider complètement pour le moment mais je peux déjà t'apporter ces infos.
En fait le port 443 est celui utilisé pour les connexions SSL (donc https).
Il faut donc :
- que ton routeur redirige les connexions sur le port 443 vers le PC qui héberge le site
- que ton serveur apache écoute ce port (je crois que c'est paramétré dans /etc/apache2/port.conf)

#3 Le 30/08/2009, à 17:44

®om

Re : [Résolu] Rediriger HTTP vers HTTPS avec apache?

Merci Imhotep59, mais ce n'était pas la redirection des ports qui me posait problème, mais la redirection du site sur le port 80 vers celui sur HTTPS (443).

Donc j'ai trouvé, il suffit d'écrire le VirtualHost comme ceci :

NameVirtualHost *:443

<VirtualHost *:80>
	ServerName	server.domain.com
	Redirect	/ https://server.domain.com
</VirtualHost>

<VirtualHost *:443>
	DocumentRoot	/var/www
	ServerName	server.domain.com
	SSLEngine on
	SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
	SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
	…
</VirtualHost>

Hors ligne

#4 Le 31/08/2009, à 00:17

anonym_user

Re : [Résolu] Rediriger HTTP vers HTTPS avec apache?

Merci.
Finalement c'est toi qui donne ta propre solution wink

#5 Le 31/08/2017, à 01:32

krodelabestiole

Re : [Résolu] Rediriger HTTP vers HTTPS avec apache?

®om a écrit :

que signifie le * de <VirtualHost *:443>

* en informatique ça signifie généralement "tout" ou plutôt "n'importe quoi".
ce qui est attendu ici c'est une adresse IP, celle du système, ça peut être utile de la spécifier dans le cas ou il y en a plusieurs.
donc en gros *:443 signifie que ce virtualhost s'applique à tout requête entrante sur n'importe quelle IP du système sur le port 443.
ensuite avec la directive "servername" tu filtres afin que seul soit concernées les requêtes sur ce nom de domaine.
https://httpd.apache.org/docs/2.4/vhosts/examples.html

il y a plusieurs méthode pour forcer SSL : redirection, rewriterule via virtualhost, .htaccess, php, etc.
à noter aussi que le certbot de let's encrypt peut s'en occuper automatiquement (via rewriterule dans la conf virtualhost), en plus de faciliter l'installation des certificats.

En ligne

#6 Le 31/08/2017, à 08:47

bruno

Re : [Résolu] Rediriger HTTP vers HTTPS avec apache?

Bonjour,

Une ou deux précisions pour ceux qui tomberaient sur ce fil.

La directive NameVirtualHost est obsolète et ne doit plus être utilisé avec Apache 2.4 (Ubuntu 16.04 et plus).

Il est préférable de faire une redirection permanente pour « forcer » le HTTPS :

<VirtualHost *:80>
	ServerName	server.domain.com
	Redirect	permanent / [url]https://server.domain.com/[/url]
</VirtualHost>

Dernière modification par bruno (Le 31/08/2017, à 08:47)

Hors ligne