記事ディレクトリ
Let's Encryptの申し込み方法は?
Let's Encrypt SSL 証明書の原理とインストールのチュートリアル
SSLとは何ですか?チェン・ウェイリアン前回の記事「httpとhttpsの違いは何ですか? SSL暗号化プロセスの詳細な説明"に記載されています。
例外Eコマースウェブサイトは高度な暗号化 SSL 証明書を購入し、ウェブサイトを WeChat として使用する必要があります公式アカウントのプロモーション的新しいメディア皆さん、SSL 証明書をインストールしたい場合は、暗号化された SSL 証明書を実際に無料でインストールできます。SEO検索エンジンでの Web サイトのキーワードのランキングを向上させることができます。
Let's Encrypt 自体が一連のプロセスを記述しています (https://certbot.eff.org/)、使用するLinux友人、プロセスを参照しながらこのチュートリアルに従うことができます.
最初に certbot-auto ツールをダウンロードしてから、ツールのインストール依存関係を実行します。
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
SSL 証明書を生成する
次に、チェン・ウェイリアンブログのドメイン名を例にとると、必要に応じて変更してください. SSH は次のコマンドを実行します.
次のコマンドを必ず変更してください。
- 邮箱
- サーバー パス
- ウェブサイトのドメイン名
単一ドメインの単一ディレクトリ、証明書を生成します。
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
マルチドメインの単一ディレクトリ、証明書の生成: (つまり、複数のドメイン名、単一のディレクトリ、同じ証明書を使用)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com
生成された SSL 証明書は次の場所に保存されます。/etc/letsencrypt/live/www.chenweiliang.com/
目次の下。
複数のドメイン名と複数のディレクトリ、証明書を生成: (つまり、複数のドメイン名、複数のディレクトリ、同じ証明書を使用)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com -w /home/eloha/public_html/site/etufo.org -d www.etufo.org -d img.etufo.org
Let's Encrypt 証明書が正常にインストールされると、次のプロンプト メッセージが SSH に表示されます。
重要事項:
– おめでとう! あなたの証明書と chain は次の場所に保存されています:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
キーファイルは次の場所に保存されています。
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
あなたの証明書は 2018 年 02 月 26 日に期限切れになります。新しい証明書または調整された証明書を取得するには
certbot-auto を実行するだけで、将来この証明書のバージョンを変更できます。
非対話的に*すべて*の証明書を更新するには、次を実行します
「certbot-自動更新」
– Certbotが気に入ったら、次の方法で作業をサポートすることを検討してください。
ISRG への寄付 / Let's Encrypt: https://letsencrypt.org/donate
EFFに寄付: https://eff.org/donate-le
SSL証明書の更新
証明書の更新も非常に便利です。crontab自動更新。一部の Debian には crontab がインストールされていないため、最初に手動でインストールできます。
apt-get install cron
次のコマンドは、それぞれ nginx と apache にあります / etc / crontab ファイルに入力されたコマンドは、10 日ごとに更新されることを意味し、有効期間は 90 日で十分です。
Nginx crontab ファイルに以下を追加してください:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Apache crontab ファイルに以下を追加してください:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
SSL 証明書の Apache 構成
ここで、Apache 構成を変更する必要があります。
ヒント:
- 使用する場合CWP コントロール パネルの [ドメイン名を追加する] チェック ボックスで、[SSL 証明書を自動的に生成する] をオンにすると、Apache の SSL 証明書が自動的に構成されます。
- 以下の手順をさらに実行すると、Apache の再起動後にエラーが発生する場合があります。
- エラーが発生した場合は、手動で追加した構成を削除します。
httpd.conf ファイルを編集する ▼
/usr/local/apache/conf/httpd.conf
検索 ▼
Listen 443
- (前のコメント番号 # を削除)
またはリッスンポート 443 を追加 ▼
Listen 443
SSHチェック Apacheリッスンポート ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
検索 ▼
mod_ssl
- (前のコメント番号 # を削除)
または追加▼
LoadModule ssl_module modules/mod_ssl.so
検索 ▼
httpd-ssl
- (前のコメント番号 # を削除)
次に、SSH で次のコマンドを実行します (パスを独自のものに変更することに注意してください)。
at >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLHonorCipherOrder on SSLProtocol all -SSLv2 -SSLv3 SSLProxyProtocol all -SSLv2 -SSLv3 SSLPassPhraseDialog builtin SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLMutex "file:/usr/local/apache/logs/ssl_mutex" EOF
次に、作成した Web サイトの Apache 構成の最後に以下。
SSL セクションの構成ファイルを追加します (コメントを削除し、パスを独自のものに変更することに注意してください)。
<VirtualHost *:443> DocumentRoot /home/admin/web/chenweiliang.com/public_html //网站目录 ServerName www.chenweiliang.com:443 //域名 ServerAdmin [email protected] //邮箱 ErrorLog "/var/log/www.chenweiliang.com-error_log" //错误日志 CustomLog "/var/log/www.chenweiliang.com-access_log" common //访问日志 SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem //之前生成的证书 SSLCertificateKeyFile /etc/letsencrypt/live/www.chenweiliang.com/privkey.pem //之前生成的密钥 <Directory "/home/admin/web/chenweiliang.com/public_html"> //网站目录 SetOutputFilter DEFLATE Options FollowSymLinks AllowOverride All suPHP_UserGroup eloha eloha //用户组(有些服务器配置需要,有些可能不需要,出错请删除此行) Order allow,deny Allow from all DirectoryIndex index.html index.phps </Directory> </VirtualHost>
最後に Apache を再起動します。
service httpd restart
Apache は HTTP を HTTPS に強制的にリダイレクトします
- 多くの Web リクエストは、常に SSL でのみ実行できます。
- SSL を使用するたびに、Web サイトに SSL 経由でアクセスする必要があることを確認する必要があります。
- ユーザーが SSL 以外の URL で Web サイトにアクセスしようとすると、SSL Web サイトにリダイレクトする必要があります。
- Apache mod_rewrite モジュールを使用して SSL URL にリダイレクトします。
- LAMP ワンクリック インストール パッケージを使用する場合、組み込みの SSL 証明書の自動インストールと HTTPS への強制リダイレクト、HTTPS へのリダイレクト有効、HTTPS リダイレクトを追加する必要はありません。
リダイレクト ルールを追加
- Apache の構成ファイルで、Web サイトの仮想ホストを編集し、次の設定を追加します。
- .htaccess ファイルで、Web サイトのドキュメント ルートに同じ設定を追加することもできます。
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
特定の URL を指定して HTTPS にリダイレクトするだけの場合:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- 誰かがアクセスしようとすると メッセージ 、ページは https にジャンプし、ユーザーは SSL でのみ URL にアクセスできます。
.htaccess ファイルを有効にするために Apache を再起動します。
service httpd restart
注意事项
- 上記のメールアドレスをあなたのメールアドレスに変更してください。
- 上記のウェブサイトのドメイン名をあなたのウェブサイトのドメイン名に忘れずに変更してください。
リダイレクト ルールの場所の問題
疑似静的ルールの下で、リダイレクト ジャンプ ルールを配置すると、通常、 http は https にリダイレクトできません 問題。
最初にリダイレクトコードを .htaccess にコピーしたところ、次の場合に表示されます ▼
- [L] は、現在のルールが最後のルールであることを示し、次の書き換えルールの分析を停止します。
- そのため、リダイレクトされた記事ページにアクセスすると、[L] は次のルールを停止するため、リダイレクト ルールは機能しません。
http ホームページにアクセスしたときに、URL リダイレクトをトリガーし、疑似静的ルールをスキップしてリダイレクト ジャンプ ルールを実行し、それを実現したいと考えています。httpsへのサイト全体のhttpリダイレクト 。
https リダイレクト ルールを入れないでください [L] ルールの下に、 [L] 以上のルール▼
拡張読書:
- httpとhttpsの違いは何ですか? SSL暗号化プロセスの詳細な説明
- Let's Encrypt SSL証明書をCWPコントロールパネルにインストールした後にエラー500が発生した場合は、どうすればよいですか?
- wwwトップレベルドメイン名なしで自動的にセカンドレベルドメイン名にジャンプします。ルートドメイン名301はwwwをリダイレクトします。
Hope Chen Weiliang ブログ ( https://www.chenweiliang.com/ ) さんに「Let's Encrypt の申し込み方法は? Let's Encrypt SSL 無料証明書の原理と導入チュートリアル」をシェアしました。
この記事のリンクを共有することを歓迎します。https://www.chenweiliang.com/cwl-512.html
Chen WeiliangのブログのTelegramチャンネルへようこそ。最新のアップデートを入手できます!
📚 このガイドには非常に価値のある内容が含まれています。🌟これはめったにない機会です、お見逃しなく! ⏰⌛💨
気に入ったらシェア&いいね!
あなたの共有といいねは、私たちの継続的な動機です!