CloudFlareでのSSL/TLS対応で学んだこと
自作サービスのアセット配信にCloudFlareを利用しているnaosk8です。
GeoLocationAPIも利用していたりで、
「HTTPS化しないと位置情報の取得はゆるしませんよ」的な
お上からのお達しが近づいている気配も覚え、
このたび、SSL対応しました。
ということで、関連しての学びをメモ。
アプリケーションレイヤーから徐々に広がっていく感じが楽しい。
さて、本題。
■ SSLってなにさ?
* Secure Sockets Layer の略。
* 要するに、第三者によるデータ改ざん防止などを目的に、安全な通信方式でサーバアクセスを実現しようというもの。
* 公開鍵で、クライアント側の情報を暗号化 -> 秘密鍵で、サーバ側で複合化。
* 対応状況は、URLが"https://"で始まっていればOK。
(CSS, JSなどに関するhttp://アクセスが表示ページ中に混ざっていると成立しない)
* SEOの面でも、有利らしい。
⬇ここによくまとまってる。
■ TLSってなにさ?
* Transport Layer Security の略。
* ただ、世の中的にSSLが浸透しているので、総称するときにはSSLと呼ばれがち。
⬇参照
■ CloudFlareでの設定方法
自分はとりあえず、体験してみたかった程度なので
Secure度は△なものの、Flexible SSLにしてみました。
⬇この記事が新しいし、読みやすかった。
WordPressじゃないのでそこを差し引く。
■ やってみてわかったこと
* https://なコンテンツにhttp://なコンテンツが混ざっているのはNG。
でも、その逆は大丈夫。
* 管理状態によっては、
Access-Control-Allow-Originあたりの調整をいれる必要が生まれる。
* HTTP Strict Transport Securtyを設定するだけで
"2回目以降"のアクセスについては、httpsアクセスを強要できる。
preload:onで、最初のアクセスについても適用できるかと思ったものの
適用されなかったです。
何かやり方に問題があったのか、そういうものなのか。