優れたソフトウェアと実用的なチュートリアル
Linuxサーバーで無料のSSL証明書を申請する
どのような種類のウェブサイトを作成する場合でも、最初のステップは申請することです。 SSL有効な証明書がない場合ドメイン名証明書、HTTPポート80経由でしかアクセスできません。現在、ウェブサイトへのアクセスはHTTPSが主流となっているため、SSLドメイン名証明書の申請が必須となっています。その方法は以下の通りです。ドメイン名証明書を申請する、ドメイン名証明書を申請するためのさまざまな方法があります。
まず、TSL/SSLとは何かを理解しましょう
無料でお申し込みください SSL証明書 SSLは「Secure Sockets Layer」の略称です。1990年代半ばにNetscape社によって設計されました。(ちなみに、Netscape社はSSLだけでなく、「CSSスタイルシート」や「JSスクリプト」といった多くのWebインフラも発明しました。)
SSLプロトコルはなぜ発明されたのでしょうか?インターネットで最初に使用されていたHTTPプロトコルはプレーンテキストであり、多くの欠点がありました。例えば、送信されたコンテンツが盗聴され、改ざんされる可能性がありました。SSLプロトコルはこれらの問題を解決するために発明されました。
1999年までに、SSLは広く普及し、インターネットにおける事実上の標準となりました。IETFは同年、SSLを標準化しました。標準化後、名称はTLS(「Transport Layer Security」の略)に変更され、中国語では「Transport Layer Security Protocol」と呼ばれます。
多くの関連記事では、SSL/TLS を並列的に扱っていますが、これは両者が同じものの異なる段階と見なせるためです。ドメイン名を TSL 対応にするにはどうすればいいのでしょうか?簡単に言えば、ドメイン名に SSL/TSL 証明書を申請するだけです。
SSL/TSL証明書を申請するには、以下を参照してください。
- Let's Encryptは無料のSSL証明書を申請し、証明書を自動的に更新し、永続的にhttpsを使用します。
- 無料のSSL証明書ロボット:Certbotは、httpsドメイン名証明書の自動更新を迅速に申請します
TSL/SSL証明書を無料で申請する
SSL証明書には2種類あります。1つはECC証明書(内蔵公開鍵はECDSA公開鍵)で、もう1つはRSA証明書(内蔵RSA公開鍵)です。簡単に言えば、ECCは同じ長さのRSAよりも安全です。つまり、同じセキュリティ条件下では、ECCの鍵長はRSAよりもはるかに短いため、暗号化と復号化が高速になります。しかし、ECCは互換性が低く、Android 4.x以下およびWindows XPではサポートされていません。お使いのデバイスがかなり古いものでない限り、ECC証明書を使用することを強くお勧めします。
以下を使用してください acme.sh Linux サーバーで TSL/SSL 証明書を申請する方法のスクリプト:
カール https://get.acme.sh | sh
まずSOCATをインストールする必要があるというメッセージが表示されます。SOCATをインストールしたら、サーバーを再起動してスクリプトを実行し、証明書を申請してください。Centos8ではポート80が使用中であるというメッセージが表示されます。SOCATをアンインストールした後、証明書を申請する際に再度SOCATをインストールする必要があるというメッセージが表示されます。これは無限ループです!再起動すれば問題は解決します!
dnf -y インストール socat 再起動
以下の手順で証明書を生成してください。サーバーにnginxやapacheなどのウェブサーバーがインストールされている場合は、一時的にシャットダウンしてください。証明書の申請プロセス中はポート80が占有されますので、サーバーのポート80が占有されていないことを確認してください。
ポートに関するいくつかの小さなコマンド:
netstat -tln # サーバーのポート使用状況を確認します。netstat -tln | grep 80 # ポート80が使用されているかどうかを確認します。コマンドラインが応答しない場合は、ポートは使用されていません。使用されている場合は、対応するポートが表示されます。lsof -i :80 # ポートがどのプログラムに属しているかを確認します。どのプロセスがポートを占有しているかを確認します。kill -9 プロセス番号 # ポートを占有しているプロセスを強制終了します。
始めましょうSSL証明書を申請するエラーが発生した場合は、--debug パラメータを追加して詳細なエラーを表示できます。
acme.sh --issue -d gogobox.tk --standalone -k ec-256
何も予期せぬことが起こらなければ、TSL/SSL 証明書は正常に生成されました。
TSL/SSL無料証明書の有効期間は90日間で、90日以内に更新する必要があります。スクリプトは60日ごとに更新します。理論上、無料証明書は更新して無期限に使用できます。もちろん、以下のコマンドで手動で更新することもできます。
acme.sh --renew -d gogobox.tk --force --ecc
wwwで始まるドメイン名、またはセカンドレベルドメイン名を生成する場合は、ドメイン名の前に-dパラメータを追加してください。--forceパラメータは証明書を強制的に更新するためのものです。例:
acme.sh --issue -d gogobox.tk -d www.gogobox.tk -d m.gogobox.tk --standalone -k ec-256 --force
証明書をインストールしてください。SSL証明書を申請すると、デフォルトではルートディレクトリに保存されます。証明書をインストールする必要がある場合は、指定された場所にインストールしてください。
acme.sh --installcert -d gogobox.tk --ecc --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl force-reload nginx"
SSL 証明書を申請する別の方法は次のとおりです。
まずsocatをインストールする
dnf インストール socat
acme.shをインストールする
カール https://get.acme.sh | sh
スクリプトのインストール后reboot,在nginx里设置好域名后,再进行证书申请
acme.sh --issue -d gogobox.tk -d www.gogobox.tk --webroot /var/wwwroot/
ドメイン名へのパスが nginx に設定されている場合は、コマンドを使用して nginx 構成を読み取ることもできます。
acme.sh --issue -d gogobox.tk --nginx
証明書の申請が成功したら、証明書をインストールする必要があります。
証明書の申請が成功したら、証明書をインストールします。acme.sh --installcert -d gogobox.tk --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl force-reload nginx"
拡張子 cer と crt を持つ証明書の違いは何ですか?
拡張子がCRTの証明書は、DERエンコードまたはPEMエンコードされています。拡張子CERとCRTはほぼ同義です。これは多くのUnix/Linuxシステムで一般的です。
CERは、CRT証明書のMicrosoft形式です。Microsoftのツールを使用して、CRTファイルをCERファイルに変換できます(CRTとCERは同じ形式(DERまたはPEM)でエンコードされている必要があります)。拡張子がCERのファイルはIEで認識され、Microsoftの暗号APIを呼び出すコマンドとして使用できます。
Windowsには、.cerや.crtなど、いくつかの証明書拡張子があります。一般的に、.cerファイルはバイナリデータで、.crtファイルにはASCIIデータが含まれます。
cer ファイルには、x.690 標準で指定されたエンコード形式である DER (Distinguished Encoding Rules) に従ってエンコードされた証明書データが含まれています。
X.509は最も基本的な公開鍵フォーマットの標準であり、証明書に含めるべき様々な情報を規定しています。通常、ここで言及する証明書はこのフォーマットで、公開鍵、発行者のデジタル署名、有効期限などが含まれています。秘密鍵は含まれていないことに注意してください。関連するフォーマットは、DER、PEM、CER、CRTです。
SSLドメイン名証明書を申請しました!
SSL証明書をオンラインで無料で申請する
FreeSSL: FreeSSLは、無料のHTTPS証明書申請、HTTPS証明書管理、HTTPS証明書有効期限リマインダーサービスを提供するウェブサイトです。HTTPS証明書の普及と利用を促進し、証明書申請プロセスを簡素化することを目的としています。
SSL証明書申請ウェブサイト:https://freessl.org
certbot: certbot はスクリプトベースの Let's Encrypt 証明書アプリケーションクライアントです。コマンドラインでの使用経験が多少必要です。自動更新が必要な場合はプラグインを追加する必要があり、使い勝手が悪くなります。自動更新と自動デプロイが必要な場合は、後述する acme.sh と ohttps の使用をお勧めします。
SSL証明書申請ウェブサイト:https://certbot.eff.org
acme.sh:Let's Encrypt証明書を申請するためのオープンソースプロジェクトとして広く知られています。詳細なドキュメントを備えたスクリプト形式で、自動アップデートとデプロイメントをサポートしています。唯一の欠点は、アップデート後の複数ノードへの自動デプロイメントのニーズに対応できないことです。コマンドラインの使用経験があれば、acme.shは非常に便利なので、強くお勧めします。アップデート後の複数ノードへの自動デプロイメントのニーズに関しては、後述するohttpsの使用をお勧めします。
SSL証明書申請ウェブサイト:https://github.com/acmesh-official/acme.sh
acme.shと同様の機能を提供しますが、使いやすい管理インターフェースを提供し、Let's Encryptの無料のワイルドカード型証明書を申請できるほか、証明書の失効、有効期限切れ前のリマインダー、自動更新、自動展開機能も提供します。また、acme.shと比較して非常に実用的な機能が追加されており、主にAlibaba Cloud、Tencent Cloud、Qiniu Cloudの負荷分散、コンテンツ配信CDN、SSL証明書リストなどへの自動展開が含まれ、複数のnginxコンテナに自動的に展開できます。証明書の更新後に複数の異なるノードに自動的に展開する必要がある場合は、http://ohttps.comを使用してください。Let's Encryptが発行する無料のHTTPS証明書の申請と管理には、http://ohttps.comを使用することを強くお勧めします。
SSL証明書申請ウェブサイト:http://ohttps.com