他のLinuxシステムと同様に、このチュートリアルでは、CentOSの7で動作している注意してください。参考1 参考2 による更新操作
1)によってacme.sh
認証方法を取得、壁は、この方法をお勧めします割れ
ドッカーをミラーリングすることにより得られる2)証明書を増加させる方法を
まず、acme.sh
道
入手1acme.sh
curl https://get.acme.sh | sh
正常にインストールは、以下に示します
注:私は、インストールの実行後にCentOSの7上の問題を抱えているacme.sh
、あなたは私と同じ問題が発生した場合、着陸前に、端末の電源を切るか、以下のコマンドを実行してください、コマンドプロンプト見つかりませんでした。
source ~/.bashrc
2. [スタート]は、証明書を取得します
acme.sh
それの電源を自動的に構成しDNS、ドメイン名レコードを解決するために舞台裏で行っていないことができ、自分のドメイン名がアリに登録されている、アリクラウド解像度の例は以下の通り、ここに、独自の修正登録の残りの部分を参照してください。ポータル
アリ雲の背景を得るために行ってくださいApp_Key
とApp_Secret
ポータル、その後、次のスクリプトを実行します
# 替换成从阿里云后台获取的密钥
export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
# 换成自己的域名
acme.sh --issue --dns dns_ali -d zhuziyu.cn -d *.zhuziyu.cn
これを有効にするには120秒のDNSを待ってスリープ状態にスレッドによるものである、少なくとも2分を待つ必要があります
このステップで、あなたはSahua、行われています
ディレクトリ内に生成された証明書: ~/acme.sh/domain/
以下は、アプリケーション証明書nginxのの例です。
# domain自行替换成自己的域名
server {
server_name xx.domain.com;
listen 443 http2 ssl;
ssl_certificate /path/.acme.sh/domain/fullchain.cer;
ssl_certificate_key /path/.acme.sh/domain/domain.key;
ssl_trusted_certificate /path/.acme.sh/domain/ca.cer;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:10086;
}
}
acme.sh
よりcertbot
多くの手動ステップバックドメインのDNSレコードを変更する必要がなくなるため、自動化された、とPython、壁の亀裂の勧告に依存しないの道
最初に成功した後、acme.sh
それが自動的に検出し、自動的に有効期限が切れたドメイン名を更新毎日App_SecretでApp_Keyを記録し、定期タスクを生成し、午前0時になります。このアプローチに懸念があり、注意が必要、しかし、あなたはまた、独自のユーザレベルでのスケジュールされたタスクを削除することができ、かつライン上に〜/ .acme.shフォルダを一掃してください
二、ドッキングウィンドウの画像取得
あなたがドッキングウィンドウ環境を持っている場合、また、コマンドの1行に、証明書のドッキングウィンドウのミラーを取得するために使用することができます
docker run --rm -it \
-v "$(pwd)/out":/acme.sh \
-e Ali_Key="xxxxxx" \
-e Ali_Secret="xxxx" \
neilpang/acme.sh --issue --dns dns_ali -d domain.cn -d *.domain.cn
成功した後、証明書は、現在のディレクトリのフォルダ内のファイルを保存します、あなたはまた、上記の最初の行を変更し、パスを指定することができ "$(pwd)/out"
、あなたが保存したいパスを変更することができます。
:詳細な使用方法は、参照することができポータル
まったく同じ方法、その他の情報を参照する方法で証明書を取得降り。
第三に、 certbot
証明書を取得する方法[不推荐] (本人使用可行)
入手1certbot-auto
# 下载
wget https://dl.eff.org/certbot-auto
# 设为可执行权限
chmod a+x certbot-auto
証明書のためのアプリケーションを起動します2.
# 注xxx.com请根据自己的域名自行更改
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" --manual --preferred-challenges dns-01 certonly
これ以上の単一ドメイン以外のアドレスの複数の場合
# 注xxx.com请根据自己的域名自行更改
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" --manual --preferred-challenges dns-01 certonly
このステップが完了した後、それは瞬間を待って、その後、必要な依存関係をダウンロードし、メールボックスを入力するように求められます、ただメールボックスを入力してセキュリティ警告[用]やると、更新の通知されます
ワイルドカード証明書がDNS経由の認定を申請することに注意、プロンプトに従い、DNS TXTレコードに対応するドメイン名を追加するために戻って行きます。添加した後、Enterキーを押します最初の実装を急いではありませんdig xxxx.xxx.com txt
発効した後、力への解像度レコードかどうかを確認するために、次にEnterキーを押して確認背中に入力します。
このステップで完了です後!!!証明書は/etc/letsencrypt/live/xxx.com/内部に格納され
それを更新するには、実行しcertbot-auto renew
、それを
* .Xxxxx.cn xxxxx.cnプライマリドメインとは異なる2つの値記録を追加する内部のDNSのTXTで2倍の解像度の記録を必要とします
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" -d "xxx.com" --manual --preferred-challenges dns-01 certonly
以下はnginxの証明書を適用した例であります
server {
server_name xxx.com;
listen 443 http2 ssl;
ssl on;
ssl_certificate /etc/cert/xxx.cn/fullchain.pem;
ssl_certificate_key /etc/cert/xxx.cn/privkey.pem;
ssl_trusted_certificate /etc/cert/xxx.cn/chain.pem;
location / {
proxy_pass http://127.0.0.1:6666;
}
}