🐧 Linux 総合学習プラットフォーム
サーバ構築 ・ 中級

HTTPSにする(TLS・証明書)

通信を暗号化して盗み見・改ざんを防ぐのがHTTPSだ。サーバに証明書と秘密鍵を置き、443番を開ける。自前検証なら openssl で自己署名証明書、公開サイトなら Let's Encrypt(certbot) が無料の正式証明書を自動で取得・更新してくれる。firewall-cmd --add-service=https を忘れずに。

平文のHTTPは、途中の経路で中身を覗かれたり書き換えられたりしうる。これを暗号化し、相手が本物のサーバだと保証するのがHTTPS(HTTP over TLS)だ。今や公開サイトの必須要件になっている。

🔒 鍵と証明書

HTTPSは「秘密鍵」と「サーバ証明書」の組で成り立つ。証明書は“このドメインの正当なサーバである”という第三者のお墨付きだ。ブラウザの鍵マークは、この検証が通った印になる。

HTTP :80 … 中身は丸見え🔒 HTTPS :443 … 暗号化盗聴・改ざんされうる覗かれても読めない

🎫 証明書の入手

検証や社内利用なら openssl で自己署名証明書を作れる(ブラウザは警告を出す)。公開サイトなら certbot(Let’s Encrypt)を使えば、無料の正式な証明書を自動で取得し、期限前に自動更新までしてくれる。

certbot --apache で取得と設定を自動化。certbot renew --dry-run で自動更新の動作を確認できる。
💡
ポイント443番を firewall-cmd --add-service=https --permanent で開けるのを忘れずに。証明書を入れても、ポートが閉じていれば繋がらない。
つまずき証明書には期限がある。自動更新(certbot renew)が動いているか、更新後にWebサーバが再読込されるかまで確認しておくと、ある日突然の期限切れを防げる。

この項目に出てくる用語

サーバ証明書 / TLSさーばしょうめいしょ
通信を暗号化し、相手が本物のサーバだと証明する仕組み。HTTPSの土台。

関連コマンド

opensslcertbotfirewall-cmd

▶ 学習アプリでこの続きを学ぶ・演習する