VPSに無料SSLのLet's Encryptを導入
2024/02/22
SSLといえば有料という認識だったが、無料のものも出てきているという話を聞いた。調べてみるとLet's Encryptというサービスで無料のSSL/TLSサーバ証明書を発行してくれるらしい。導入してみたので以下にメモ。また、SSL自体ちゃんと理解していなかったのでそのあたりも調べた。
2019/01/24追記
CentOS6.10での導入方法は以下の通り。
SSL/TLSとは?
インターネット上で情報を暗号化して送受信する仕組みのこと。httpsで接続する。
また一般的にhttpのポートは80番だけど、httpsは443になるとのこと。
SSL/TLSサーバ証明書とは?
サイトの所有者情報、暗号化に必要な鍵、発行者の署名データを持った電子証明書。証明書を導入することでSSL/TLS通信ができるようになる。
導入環境
- DTIのVPSでメモリ1GBプラン
- Apache 2.2.15
- CentOS 6.8
- ドメインはDot tkで取得した無料ドメイン(仮でssl.tkとする)
事前準備
サーバにSSH接続しroot権限を持つ。ファイアウォールで80番及び443番ポートを開いておく。
vi /etc/sysconfig/iptables
Webサーバを停止しておく。
service httpd stop
導入
#gitのインストール yum install git #tmpディレクトリに移動 cd /tmp #certbotをダウンロード git clone https://github.com/certbot/certbot #certbotディレクトリに移動 cd certbot #certbotクライアントの実行。必要なソフト等があればインストールされる ./certbot-auto
テスト環境ではTUI画面になり、ドメインの確認、メアド入力、規約に同意する画面となった。ある程度直感的にわかる画面になっていたのでそのまま進んだところ、「Congratulations! Your certificate and chain have been saved at~~」と成功っぽい表示がされた。
また、「/etc/letsencrypt/archive/ドメイン名/」のディレクトリに各種証明書が保存されるらしく、チェックしたところ正常に保存されていた。
service httpd start
でWebサーバを開始し、ブラウザからhttps://ssl.tkでページを開こうとすると、以下の通り正常に接続が行えなかった。IE / Firefox / Chrome全て試したがどれもダメだった。
バーチャルホスト設定
調べたところバーチャルホスト設定がいるっぽい。
#apacheの設定ファイルを開く vi /etc/httpd/conf/httpd.conf #以下を追記する NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin ドメイン名 DocumentRoot ドキュメントルート ServerName ドメイン名 SSLEngine on SSLCertificateFile /etc/letsencrypt/archive/ドメイン名/cert1.pem SSLCertificateKeyFile /etc/letsencrypt/archive/ドメイン名/privkey1.pem SSLCertificateChainFile /etc/letsencrypt/archive/ドメイン名/chain1.pem ErrorLog logs/error_log CustomLog logs/access_log common </VirtualHost> #設定後はWebサーバ再起動 service httpd restart
設定を変更しサーバの再起動をかけた上で再度ブラウザからチェックすると正常に表示された。
注意点
証明書の有効期限は90日間となる。一般的なものは○年単位という認識だったが、Let's Encryptの証明書は短めなので注意する。
一応「certbot-auto renew」で自動更新されるらしいが、バーチャルホスト設定側がどうなるのか不明。このあたりは3ヵ月後にでもチェックしたいところ。
参考サイト
関連記事
-
CentOS7系にLEMP環境(Linux + Nginx + MySQL + PHP)を構築
先日KAGOYAのVPSからIndigoに移行した際にCentOS6から7へバー ...
-
AlmaLinux8.6にLAMP環境&WordPressを構築する方法
だいぶ前にCentOS6系から7系に移行したが、7系も2024/6/30にサポー ...
-
CentOS6系から7系に(KAGOYAからIndigoに)移行した際のメモ
CentOS6系から7系に、さらにKAGOYAのVPSからWebARENA In ...