web-dev-qa-db-ja.com

1and1でホストされているドメインのHTTPとHTTPSの両方をGitHubにリダイレクトするにはどうすればよいですか?

最近、1and1からドメインを購入しました。次に、1and1のドメインセンターを使用して、GitHubページにリダイレクトしました(たとえば、http://example.comからhttps://foo.github.io)(以下のスクリーンショットを参照)。

enter image description here

HTTPSがGitHubページにリダイレクトされるように、ドメインをhttp://example.comからhttps://example.comにリダイレクトする必要があります。これをどのように行うことができますか?

3
foo

これは私が理解していることです:

Githubページfoo.github.ioがあります

ドメインexample.comは、githubが提供するIPアドレスを持つAレコードを介してfoo.github.ioにリダイレクトされます。これにより、URL example.comを使用すると、アドレスバーにexample.comが表示されますが、データはfoo.github.ioからのものです。基本的に、example.comとfoo.github.ioは同じページを表示します。

現在、githubの性質は、httpとhttpsの両方をサポートしていることです。 example.comでhttpをリクエストすると、 http://example.com が提供され、httpsをリクエストすると、 https://example.com (SSL証明書キーがgithubにある場合)。

あなたが求めているのは、httpがリクエストされたのかhttpsがリクエストされたとしても、常にhttpsのみが提供されるべきだということです。

現在、ASP.NETやPHPやLAMPなどの動的言語とサーバーでは、サーバー側で行われますが、githubは静的なhtmljavasçiptcssファイルのみをサポートするため、唯一の選択肢はjavascriptの場所を使用することです.href.replaceは、プロトコルがhttpかどうかを検出して、httpsにリダイレクトします。

私はモバイルでフライトに搭乗しようとしているので、同様の質問のJavaScriptコードを引用します answer

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

注:1&1のシステムでexample.comのSSL秘密鍵と公開鍵を設定したことがない場合は、最初にそれを行う必要があります。それ以外の場合は https://example.com が要求され、ブラウザにエラーが表示されます。休暇から戻ったときにいくつかの手順を追加します。

3
DavChana