サーバーにSSL証明書を正しく実装しているかどうかを SSL Server Test で確認しました。ランキングで等級[〜#〜] a [〜#〜]を取得しましたが、を取得できますA +[〜#〜] hsts [〜#〜] を有効にした場合。少し調べたところ、GoogleがHSTSをランキング要素として扱う可能性があることがわかりました。したがって、SEOに関しては関連があるようです。 HSTSを実装する前に、いくつか質問があります。
質問1
私のサイトで、外部のJavaScriptがhttp(httpsではなく)経由で画像などをロードするとどうなりますか? HSTSは、ページ全体のロードを妨げるか、特定の「安全でない」コンテンツのみをブロックしますか?
質問2
現時点(HSTSなし)では、リソースがhttp経由でロードされると、「混合コンテンツ」の警告が表示されます。 HSTSがアクティブ化されている場合、「混合コンテンツ」は実際に存在しますか?
HSTSは混合コンテンツをまったく処理しようとしません。ブラウザがHTTP URLを読み込もうとするたびに、ブラウザがHTTPSへの内部307
リダイレクトを実行するかどうかを制御するだけです。混合コンテンツの警告はブラウザの機能であり、現在のすべてのブラウザがそれを実行しています(Mozilla Firefox 23以降、Google Chrome 21以降、Internet Explorer 10以降、最初からEdge ... )。<script>
などの混合コンテンツ警告ブロックは<iframe>
ではなく<img>
をブロックします。
言及されているすべてのブラウザーでの混合コンテンツの警告は、コンテンツをロードする前、つまりHSTSリダイレクトの前にもチェックされます。これは自然に見えるだけで、テストも簡単です。デフォルトでは、プレーンHTTPを使用してもすべての外部画像が読み込まれ、スクリプトとiframeに対してのみ混合コンテンツの警告が表示されます。
HSTSは、HSTS対応ドメインからの画像がプレーンHTTPを使用してロードされ、307 Internal Redirect
が実行される状況のみを変更します。注目に値する:これは、混合コンテンツの警告が含まれていない状況です。
したがって、HSTSは混合コンテンツの問題のクイックフィックスとして機能しません:
http://
URLを修正する必要があります。これに対する答えは、参照するスクリプトがHSTSが有効になっているドメインでホストされているかどうかに依存すると思います。
例えば。 mydomain.com
からコンテンツを提供し、このドメイン(および場合によってはサブドメインも)に対してHSTSを有効にするが、参照するスクリプトおよびその他の混合コンテンツは、HSTSを有効にしないotherdomain.com
から提供される場合混合コンテンツが可能であり、ブラウザは引き続きこれについて警告します。
HSTSが停止する(そして混合コンテンツの修正に役立つ)のは、同じドメイン上のHTTP経由でリンクされているリソースであり、構成によってはサブドメインである可能性があります-これらはHTTPSに自動的に「アップグレード」されるためです。
これは設計によるものです。HSTSが機能している場合、適切な画像(HTTPSを介したチェックマーク)を取得し、そうでない場合は、HTTPを介したXマークを取得します。
うまくいけば、ブラウザはHSTS経由でHTTPSにアップグレードされたコンテンツに対して混合コンテンツの警告を表示しなくなります。 :)