web-dev-qa-db-ja.com

cPanelでLet's Encryptを実装する手順

httpからhttpsのサイトを採用するために実装しています。cPanelLet's Encryptを使用しています。共有ホスティング環境にいます。

これは私がそれを実装する方法です:

  1. メンテナンスモードのサイト
  2. SSL証明書を発行する
  3. .htaccessにこのコードを追加:

    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
    
  4. session folderのすべてのセッションを削除して、ログインページでリダイレクトします。または、データベースに保存されているすべてのCookieを削除します。

  5. 試して

  6. メンテナンスモードはオフです

これは正しいことですか?そうでない場合は、その方法を教えてください。

更新

https://hstspreload.org のガイドラインに従うために、この.htaccessコードをテストしました。

RewriteEngine On
RewriteCond %{HTTP_Host} ^example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NC]

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_Host} !^www\.
RewriteRule (.*) https://www.example.com%{REQUEST_URI} [L,R=301]

<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=10886400; includeSubDomains; preload"
</IfModule>

これは中程度の警告です:

警告:HTTPを介した不要なHSTSヘッダー http://example.com のHTTPページはHSTSヘッダーを送信します。これはHTTPには影響しないため、削除する必要があります。

3
Dumb Question

ウェブホスティング事業を営んでいます。数百のクライアントが、無料のLetsEncrypt証明書を介してhttpsに切り替えています(または、怠け者ではありません)。

正直に言うと、あなたは物事を過度に複雑にしていると思います。ドメインにSSLをインストールしてから、何も変更せずにhttpsを使用してみて、どうなるかを確認してください。

開発者ツールコンソールを表示すると、さまざまなコンテンツの警告が表示される場合があります。これは最も重要なステップの1つです。混合コンテンツ、つまりhttpを使用してファイルが含まれている場合、secure南京錠は表示されません。

サイトをメンテナンスモードにする必要はありません。証明書がインストールされている場合でも、テスト中は他のユーザーが従来のhttpを使用できます。

それで問題がなければ、コードを.htaccessファイルに追加します。

テスト方法は次のとおりです。htps://example.comにアクセスして、アドレスバーに南京錠があるかどうかを確認します。ある場合は、機能しています。 insecure通知がまだある場合は、開発者ツールに戻って問題を探します。

3
Steve

あなたの提案通りにはしません。私の提案では、訪問者のエラーを可能な限り少なくすることで、プロセスをより詳細に制御できます。

  • LetsEncrypt/httpsを実装しますが、まだリダイレクトを設定しません
  • URLにhttps://と入力して、自分で確認してください。できる限りテストを行う/修正する1
  • あなたはそれのほとんどを持っていると確信している場合、同じことを行うためにhttpsについて伝えるユーザーのグループを取得します(またはリダイレクトこのグループだけ)、使用は常により多くの問題を明らかにします。
  • できる限りのことを行ったと感じたら、httpsへのリダイレクトを実装します 1
  • レポート、可能性のある404などをチェックし続けます。繰り返しますが、実際の使用では常に、見つけられなかったエラーが明らかになります。これに備えてください(運が良ければ、単にタイプミスです)。
  • 十分な時間の後、 HSTSを実装する 、この方法では、http経由でサイトにアクセスできません。

1 このような外部ファイルへのリンク//www.exampleまたはURIにhttp:を含まないhttps:をお勧めします
2 セッションを削除する必要はありません。セッションはあなたとhttpsに転送される可能性が低いため(そうではありません)、またはその場で単純に期限切れになります。ユーザーがhttpsに切り替えられた場合、ユーザーは再度ログインする必要があります(気をつけてください)。

2
Martijn