我們https訪問都是用的免費Let's Encrypt,其提供的SSL證書每三個月需要續一次,在服務器上安裝一個certbot-auto程序,基本上就可以不管了,但實際上還是會偶爾收到郵件通知,自動續期沒有成功,需要人工幹預。一般來說都是遇到certbot-auto本身的升級或者依賴的Linux系統軟件需要升級,人工運行命令後也都基本上回答幾個Y/N進行安裝、升級就可以。
但最近遇到點問題,運行./certbot-auto renew 一直顯示如下報錯:
WARNING: couldn't find Python 3.5+ to check for updates. Traceback (most recent call last): File "", line 16, in File "/usr/lib64/python3.4/distutils/version.py", line 58, in __lt__ c = self._cmp(other) File "/usr/lib64/python3.4/distutils/version.py", line 176, in _cmp if self.version != other.version: AttributeError: 'StrictVersion' object has no attribute 'version'
這應該是Python版本不行,在網上搜了一下,找到這篇《Certbot failing to find python version on Centos 6.10》,與我們遇到的問題是一樣的(我們國内阿裡雲ECS沒有遇到這個問題,國外阿裡雲ECS都遇到這個問題),前些天做了記錄,但一直沒有解決。
這兩天再次接到通知郵件,有部分域名的SSL證書即将過期了,不得不去解決。按照那篇文章說了,做了如下工作:
- cd /root/certbot 進入目錄./certbot-auto
- mv certbot-auto certbot-auto-0.40.0 備份老版本文件
- wget https://dl.eff.org/certbot-auto 獲取新版本文件,目前是0.40.1
- chmod a+x certbot-auto 給與可執行權限
- mv /opt/eff.org /opt/eff.org-0.40.0 老版本的安裝目錄備份
- ./certbot-auto 運行新文件,安裝過程中會提示Python版本升級到3.4以及其它依賴包
再後面就可以像以前一樣使用自動升級、自動續期等了。
评论