Netlifyコミュニティからよく寄せられる別の質問。 「Netlifyは、SSL(TLS)を強制せずにトラフィックをhttpからhttpsにリダイレクトできますか?」
証明書を配置したら、ボックスをチェックしてTLSを強制できます。これにより、httpからhttpsへのリダイレクトが設定され、すべてのリクエストにStrict Transport Securityヘッダーが追加されます。
ユーザーは、すべてが正しくセットアップされ、セットアップを変更しないことがわかるまで、SSLを強制したくありません。
現在、2018年11月(2018年7月以降)に、Netlifyのすべての新しいサイトはHTTPSであり、強制リダイレクトがデフォルトでオンになっていますとあなたオフにすることはできません。
ブログ投稿を参照してください:
そしてGitHubのこの問題:
古いサイトでも、HTTPSをオフにするオプションまたはHTTPSへのリダイレクトをオフにするオプションは使用できなくなりました。
Netlifyでは、TLSを強制することができます。すべてのURLがhttpsで機能することが確実になるまで「TLSを強制しない」ことをお勧めします
すべてのURLが「https://」で動作していることが確実になるまで、「TLSを強制する」オプションをオンにしないでください!
Netlifyを使用してTLSを強制すると、ページ応答ヘッダーにSTS(Strict-Transport-Security)ヘッダーが設定されます。私は説明はしませんが、- ここでそれを読むことができます 。
知っておくべき主なことは:
サポートされているブラウザーがこのヘッダーを受信すると、そのブラウザーはHTTPを介して指定されたドメインに送信される通信を阻止し、代わりにすべての通信をHTTPSを介して送信します
Netlifyの設定([TLSを強制する]チェックボックスを使用)は、訪問ブラウザに1年過去の訪問日についてこれを強制するようになっていることに注意してください。したがって、httpsでエラーが発生した場合、修正するまでサイトに問題が発生します。
証明書を追加した後も、サイトで常にhttpsページが提供されるようにしたいが、問題のテスト中または処理中に強制されないようにする必要があります。
デプロイされたサイトのルートにある_redirects
ファイル(index.htmlの横にある "Publishディレクトリ"内)を使用して、トラフィックをhttpsにリダイレクトします。
これはファイルの例です
_redirects
# redirect netlify sitename to your sitename for SEO purposes,
# to avoid duplicate content. Do this for http and https
https://example.netlify.com/* https://www.example.com/:splat 301!
http://example.netlify.com/* http://www.example.com/:splat 301!
# also redirect http to https for your custom domain.
# Note that netlify automatically redirects to your custom domain from the bare domain (or vice versa), so you only need one rule here.
http://www.example.com/* https://www.example.com/:splat 301!
または Structured Redirects を使用した同じリダイレクト
netlify.toml
[[redirects]]
from = "https://example.netlify.com/*"
to = "https://www.example.com/:splat"
status = 301
force = true
[[redirects]]
from = "http://example.netlify.com/*"
to = "http://www.example.com/:splat"
status = 301
force = true
[[redirects]]
from = "http://www.example.com/*"
to = "https://www.example.com/:splat"
status = 301
force = true
注:
www
サブドメインにリダイレクトしています(オプション)www
を使用することをお勧めします。http
をhttps
にリダイレクトします