株式会社OIDEMAでは、LINEWORKSやSlack等のBOTサーバーとしてGMO VPSを利用しているケースがあります。
※お客様がもともと利用している場合などに用いる。
GMO VPSはPleskというGUIでLinuxなどの設定・管理を行えるツールを利用することが可能で、当社もPleskを利用しております。
LINEWORKS BOTはHTTPS通信でない場合は機能しないため、BOT ServerにはSSL証明書が必ず必要になります。
そのため、当社はPleskの機能から、無料のLet’s Encrypt証明書を利用しています。
通常、Let’s Encrypt証明書は3ヶ月ごとに期限が切れるので、一定の時点で自動で更新されるのですが、今回は自動更新されず、再発行(reIssue)ができませんという旨のメールが届きました。
この記事の内容はこの問題の解決方法です。
問題の原因
もったいぶらずに、問題の原因と解決方法先にお伝えします。
今回はNginxの設定が原因で起こった問題でした。
Let’s Encryptの自動更新のためにはブラウザからport 443アクセスができる必用があります。
今回、LINEWORKSのBOTでは、POSTリクエストのみしか受け付ける予定がないため、Plesk機能のApache&Nginxの設定で
GETリクエストを受付しない設定を行っていたのが原因で問題が発生しました。
スクリーンショットを添付します。
GETリクエストがきたら403エラーを返すという設定なのですが、この設定が原因で自動更新ができていませんでした。
自動更新させるためには、この設定を削除する必要があります。
if ($request_method = GET) {
return 403;
}
Let’s Encryptの運用する方はお気をつけください。