CertBotクイックlet's encrypt証明書のインストール
いくつかの開発のため、ウェブサイトをhttpsに交換せざるを得なくて、現在無料のssl証明書は
実践を経て、やっと証明書を正しくインストールして、ここに過程と出会った問題を記録して、便利に必要な友达です.
環境
私の環境はアリ雲ubuntu-16.04です.
ダウンロードツール
ssl証明書の生成
このcertbotドキュメントの説明に従って操作します.
しかし、思い通りにはいかず、以下のエラーを報告しました.
検索でcertbotのissue#issuecomment-273014451が見つかりました
なぜなら、システムには複数のバージョンのpythonがインストールされているので、どのように削除しますか?ここの方法で解決しました.
解決方法:
次に、ssl証明書生成コマンドを再度実行します.
ここで数分待つ必要があるかもしれませんが、似たような情報が表示されると、生成に成功します.
nginxの構成
nginxプロファイルのserverに次のコードを追加します.
nginxを再起動
起動に失敗した場合は、次のコマンドを実行してテストプロファイルを確認します.
サイトを開く:
証明書の自動更新
新しいタスク
let's encrypt
あります.実践を経て、やっと証明書を正しくインストールして、ここに過程と出会った問題を記録して、便利に必要な友达です.
環境
私の環境はアリ雲ubuntu-16.04です.
ダウンロードツール
certbot
ツールのダウンロードgit clone https://github.com/certbot/certbot
ssl証明書の生成
このcertbotドキュメントの説明に従って操作します.
cd certbot
./letsencrypt-auto certonly --standalone --email [email protected] -d your.domain.com
your.domain.com
をあなたのドメイン名に変更してください.しかし、思い通りにはいかず、以下のエラーを報告しました.
Bootstrapping dependencies for Debian-based OSes... (you can skip this with --no-bootstrap)
Hit:1 http://mirrors.cloud.aliyuncs.com/ubuntu xenial InRelease
Hit:2 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates InRelease
Hit:3 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
augeas-lenses is already the newest version (1.4.0-0ubuntu1).
ca-certificates is already the newest version (20160104ubuntu1).
gcc is already the newest version (4:5.3.1-1ubuntu1).
libaugeas0 is already the newest version (1.4.0-0ubuntu1).
libffi-dev is already the newest version (3.2.1-4).
python is already the newest version (2.7.11-1).
python-dev is already the newest version (2.7.11-1).
libssl-dev is already the newest version (1.0.2g-1ubuntu4.8).
openssl is already the newest version (1.0.2g-1ubuntu4.8).
python-virtualenv is already the newest version (15.0.1+ds-3ubuntu1).
virtualenv is already the newest version (15.0.1+ds-3ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
Creating virtual environment...
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in
main()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 988, in create_environment
download=download,
File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command /root/.local/share/letsencrypt/bin/python2.7 - setuptools pkg_resources pip wheel failed with error code 2
検索でcertbotのissue#issuecomment-273014451が見つかりました
なぜなら、システムには複数のバージョンのpythonがインストールされているので、どのように削除しますか?ここの方法で解決しました.
解決方法:
apt-get purge python-virtualenv python3-virtualenv virtualenv
pip install virtualenv
次に、ssl証明書生成コマンドを再度実行します.
cd certbot
./letsencrypt-auto certonly --standalone --email [email protected] -d your.domain.com
ここで数分待つ必要があるかもしれませんが、似たような情報が表示されると、生成に成功します.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/www.lanyueos.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/www.lanyueos.com/privkey.pem
Your cert will expire on 2017-11-14. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
nginxの構成
nginxプロファイルのserverに次のコードを追加します.
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;
your.domain.com
をあなたのドメイン名に変更してください.nginxを再起動
service nginx start
起動に失敗した場合は、次のコマンドを実行してテストプロファイルを確認します.
nginx -t
サイトを開く:
https://your.domain.com
ブラウザの緑のマークを見たら、設定成功おめでとうございます.証明書の自動更新
新しいタスク
certbot-auto-renew-cron
を作成することができます.これはcron計画で、この内容は2ヶ月おきの午前2:15に更新操作を実行することを意味します../certbot-auto renew --pre-hook "service nginx stop" --post-hook "service nginx start"
--pre-hook
このパラメータは、更新操作を実行する前にしなければならないことを示しています.私は--standaloneモードの証明書を持っているので、nginxサービスを停止し、ポートの占有を解除する必要があります.--post-hook
このパラメータは、更新操作が完了した後に行うことを示し、ここでnginxサービスの有効化を再開するcrontab certbot-auto-renew-cron