2017-12-08 50 views
0

厳密なトランスポートセキュリティを有効にしたい。 MYウェブサイトはhttpsを有効にしています。 以下はhstsを有効にするためのコードです。厳密なトランスポートセキュリティを有効にするmvc

<system.webServer> 
    <httpProtocol> 
     <customHeaders> 

      <add name="X-Frame-Options" value="SAMEORIGIN" /> 
      **<add name="Strict-Transport-Security" value="max-age=31536000"/>** 
     ..... 
     </customHeaders> 
    </httpProtocol> 

上記の設定は、厳密なトランスポートセキュリティを有効にするには十分ですか、以下の設定も追加する必要があります。

<rewrite> 
     <rules> 
     <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions> 
      <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
      </conditions> 
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" 
       redirectType="Permanent" /> 
     </rule> 
     </rules> 
     <outboundRules> 
     <rule name="Add Strict-Transport-Security when HTTPS" enabled="true"> 
      <match serverVariable="RESPONSE_Strict_Transport_Security" 
       pattern=".*" /> 
      <conditions> 
      <add input="{HTTPS}" pattern="on" ignoreCase="true" /> 
      </conditions> 
      <action type="Rewrite" value="max-age=31536000" /> 
     </rule> 
     </outboundRules> 
    </rewrite> 

両方の設定が書き換え の必要性が何であるか、その後は必須であれば、我々は唯一の によってのみ リライトによってHSTSを有効にすることができます。

なぜ書き換えが必要ですか? https://www.hanselman.com/blog/HowToEnableHTTPStrictTransportSecurityHSTSInIIS7.aspx

答えて

0

このヘッダーは、ブラウザにHTTPSを使用させます。アプリケーションのどこかにHTTPリンクがある場合、またはユーザーがHTTPでURLを入力しようとすると、ブラウザはhttpsにリダイレクトします。 HSTSを使用するには、サイトで有効なSSL証明書が必要です。書き換えは必須ではありませんが、持っていると良いです。ユーザーが最初にhttpsを使用してサイトに入ると、そのサイトにアクセスするたびに、ユーザーは自動的に有効期限までリダイレクトされるため、訪問ごとに最大年齢の更新が行われます。しかし、ユーザーがhttpモードで一度入力した場合、STSはhttpsでサイトを使用するまで動作しないことがあります。その書き換えを使う方が良い。

<system.webServer> 
<httpProtocol> 
<customHeaders> 
<add name=”Strict-Transport-Security” value=”max-age=xxxxxx”/> 
</customHeaders> 
</httpProtocol> 
</system.webServer> 

私はリライトを使用していけない、と私は、HTTPを使用しようとすると、それが自動的に書き換えずにhttpsにリダイレクトIE httpsを使用するようにブラウザを強制しても

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security

+0

書き換えを行わないとどうなりますか – user1681166

+0

書き換えをしなければ動作します。私はリライトを使用しませんでした.. stsのための上記のコードを使用して、ブラウザのキャッシュをクリアして、httpでURLを入力し、あなたはhttpでサイトを着陸させます。 httpsにリダイレクトされません。 httpsでURLにヒットした後、httpと入力してサイトにアクセスしようとすると、httpでサイトにアクセスすることはできなくなります。再びキャッシュをクリアし、httpを試してみてください。その値はクライアントブラウザ用に設定されています。キャッシュをクリアすると、それはなくなります。 – Chidambaram

関連する問題