web-dev-qa-db-fra.com

Comment puis-je rediriger à la fois HTTP et HTTPS pour un domaine hébergé sur 1and1 vers GitHub?

J'ai récemment acheté un domaine de 1and1. Je l'ai ensuite redirigé vers ma page GitHub, (par exemple, http://example.com vers https://foo.github.io) à l'aide du centre de domaines de 1and1 (voir la capture d'écran ci-dessous):

enter image description here

Maintenant, je dois rediriger mon domaine de http://example.com vers https://example.com afin que HTTPS soit redirigé vers ma page GitHub. Comment cela peut-il être fait?

3
foo

C'est ce que j'ai compris:

Vous avez une page github foo.github.io

Votre domaine exemple.com est redirigé vers foo.github.io via un enregistrement A avec une adresse IP fournie par github. Ainsi, lors de l'utilisation d'URL exemple.com, la barre d'adresse affiche exemple.com, mais les données proviennent de foo.github.io. Essentiellement, example.com & foo.github.io affichent la même page.

Maintenant, la nature de github est qu’il supporte http et https; signifie que si vous demandez http sur exemple.com, il servira http://example.com , et si vous demandez https, il servira https://example.com = (à condition que vos clés de certificat SSL soient là dans github).

Ce que vous demandez, c'est que peu importe si http a été demandé ou https, seul https doit toujours être servi.

Maintenant, dans les langages dynamiques et les serveurs tels que ASP.NET ou PHP ou LAMP, cela se ferait côté serveur, mais comme github ne prend en charge que les fichiers hss javasçipt css statiques, votre seule option est d'utiliser un emplacement javascript. .href.replace en détectant si le protocole est http, redirige vers https.

Comme je suis sur mobile et sur le point de monter à bord d’un vol, je citerai le code javascript de la même question s réponse :

if (location.protocol != 'https:')
{
      location.href = 'https:' + window.location.href.substring(window.location.protocol.length);
}

Remarque: Si vous n'avez jamais configuré les clés privées et publiques SSL pour example.com dans le système de 1 & 1, cela signifie que vous devez d'abord le faire. Sinon, lorsque https://example.com sera demandé, les navigateurs montrera une erreur. J'ajouterai quelques étapes pour cela quand je reviendrai de vacances ..

3
DavChana