:::: MENU ::::
Posts tagged with: letsencrypt

Lets’s Encryptの証明書期限切れたので再作成

SSL証明書では、Lets’s Encryptの証明書を利用しているのですが、期限が3ヶ月なので、ちょっと油断していると証明書切れになります。

事前に、証明書を更新する通知も来るのですが、後回しにしていたら、期限が切れてしまいましたので、再作成しました。

再作成なので、certbot-auto renewすればいいんじゃね?
しかし、renewだけじゃ、証明書が期限切れのままでダメでした。
なので、結局、振り出しに戻って一から再作成することにしました。

Let’s Encrypt 証明書再作成

ウェブサーバー停止

まずは、80番ポートを利用しているウェブサーバーを停止

私の場合はnginxなので、

# service nginx stop

古い証明書関連ファイルやディレクトリを削除

下記に古いファイルやディレクトリが保存されているので、該当するドメインを削除します

  • /etc/letsencrypt/live/
  • /etc/letsencrypt/archive/
  • /etc/letsencrypt/renewal/

証明書新規作成

私の環境では、/var/opt/letsencrypt/に格納されているので、

# cd /var/opt/letsencrypt/
# ./certbot-auto certonly --standalone -d foo.bar.com

複数ドメインがある場合 -d オプション後に続けて明記するような記事もあるのですが、上手くいかなかったので、複数ある場合でも一つずつ行う必要がありました。

ウェブサーバー起動

# service nginx start

ここまでで証明書再作成作業は終了です。

メンテナンス

更新

期限まで30日未満のものを更新

# ./certbot-auto renew

全ての証明書を強制更新

# ./certbot-auto renew —force-renew

自動更新

更新切れを気にする必要がないように、cronで自動更新した方が楽です
毎月の1日に更新するように設定

# cd /etc/cron.d
# vi letsencrypt
0 0 1 * * root /var/opt/letsencrypt/certbot-auto renew --post-hook "service nginx restart"

今更ながらSubsonicをSSLでサブドメインにて運用

このサイトでも幾度か、Subsonicの記事を投稿しておりますが、今更ながら、SSL証明書によるHTTPS化して、ついでにサブドメインにてアクセスするように設定した。

環境

現状は、CentOS上にSubsonicを運用しており、http://localhost:4040にて稼働しております。

今回作業する項目

CloudFlareにてサブドメインを設定し、nginxでサブドメイン用confファイル作成、SSL証明書発行後、confファイルに適用と言う流れになります。

サブドメイン設定

私は、DNS管理をCloudFlareに任せていますので、CloudFlareにログインします。

https://www.cloudflare.com/a/login

上記項目のDNS設定をクリックし、下記の囲んだ部分にサブドメインを記入して、追加します。

  • 左のレコードタイプをA
  • 次にサブドメイン名(今回はsubsonic)
  • サブドメインのIPアドレス (通常、subsonicを動作させているIP)
  • TTLは通常Automaticですが、早く反映させたいので、2min
    DNS反映後は、Automaticに戻しましょう
  • CloudFlareを通さない設定にしておかないと、この後の証明書発行ができませんので、雲マークがオレンジではなくグレイになるようにクリックしておきます

DNS反映には、しばらく時間がかかるので、コーヒーを飲んだり出かけたりすると良いかもしれません
一応、確認としては、CloudFlare上で設定が反映されていれば、
$ dig @ns6.cloudflare.com subsonic.xxx.xxx にて、設定したIPアドレスが表示されればOK
そして、サブドメイン(subsonic)上の端末から、
$ dig subsonic.xxx.xxx にて設定したIPアドレスが表示されれば、次に進めます

NginxのSubsonicサブドメイン用設定ファイル作成

設定ファイルは、/etc/nginx/sites-available/内にsubsonic.confと言う名前(任意でも)で作成します。

# cat subsonic.conf

server {
 listen 80;
 server_name subsonic.xxx.xxx;
 access_log /var/log/nginx/subsonic-access.log;
 error_log /var/log/nginx/subsonic-error.log;

location / {
 proxy_pass http://127.0.0.1:4040;
proxy_redirect http:// https://;
 }

保存後に、sites-enabled内にシムリンクを張ります

# ln -s /etc/nginx/sites-available/subsonic.conf /etc/nginx/sites-enabled/

書式に間違いないか確認

# service nginx configtest

エラー表示がなく、Syntax OKが表示されれば、適用します

# service nginx reload

これで問題がなければ、サブドメインのURLでアクセスすると、Subsonicの画面が表示されるはずです。

SSL証明書取得・設定

ここでは、無料のSSL証明書(Let’sEncypt)をサブドメインに適用します

Let’sEncryptをインストール

すでに、Let’sEncryptのプログラムは導入済みなのですが、初めての方は下記でインストールします。

# git clone https://github.com/letsencrypt/letsencrypt <directory>
# cd <directory>

サブドメイン用の証明書取得

# ./letsencrypt-auto —nginx
(初めて起動の方は、ここで、いろいろなプログラムがインストールされます)

1. aaa.xxx.xxx
2. bbb.xxx.xxx
3. subsonic.xxx.xxx
….

サーバー内nginx設定ファイルが自動で読み込まれるので、適用するドメインを使用します。
ここでは、subsonicなので3を選択

登録するにあたり、規約のPDFを見て承諾するか尋ねられるので、AgreeのAを打ち込む

初めての方は、登録するメールアドレスを求められるので記入します

1: Easy – Allow both HTTP and HTTPS access to these sites
2: Secure – Make all requests redirect to secure HTTPS access

今まで通りhttpでもアクセス可能にするか、全てhttpsで接続させるかを任意で指定

これで、Congratulations!が表示されれば、サブドメインのsubsonic.confにssl設定が追記されています

一応、設定ファイルを読み込んでおきます

# service nginx reload

そして、サブドメインのSubsonic(subsonic.xxx.xxx)へhttpでアクセスして、httpsへリダイレクトされてログイン出来れば完成です。

作業時間より、この記事書くほうが時間かかってしまいました。(^_^;)