Tôi đang chạy một máy chủ Ubuntu 14.04 cũ. Nó đã chạy mà không có vấn đề gì trong nhiều năm nay, nhưng với sự ngừng hoạt động gần đây của ACMEv1, tôi không thể gia hạn lại chứng chỉ. Tôi đã googled về cách giải quyết vấn đề này nhưng tôi không biết phải làm gì.
Trong máy chủ của tôi không thực hiện "cài đặt chính thức" letsencrypt. Thay vào đó, tôi chỉ sao chép nó vào một số thư mục tùy chỉnh.
Câu hỏi của tôi là, tôi có thể làm một cập nhật git
hoặc sao chép lại letsencrypt sang phiên bản mới hơn và mong mọi thứ hoạt động tốt? Nâng cấp máy chủ của tôi KHÔNG PHẢI LÀ MỘT TÙY CHỌN vào lúc này. Về nhân bản, tôi nghi ngờ rằng tôi cũng có thể gặp sự cố với các phiên bản cũ của python/pip, đó là 2.7.6 và pip 1.5.4. Chỉ cố gắng xem điều gì xảy ra cũng không phải là một lựa chọn. Có những thứ không dễ phục hồi, vì vậy tôi muốn có một số hướng dẫn của chuyên gia trước khi dốc toàn lực. Tuy nhiên, gốc rễ của vấn đề là do ACMEv1 không còn được dùng nữa, vì vậy tôi tự hỏi đâu là cách ít xâm lấn nhất để giải quyết vấn đề cụ thể đó. cập nhật git
hoặc sao chép lại trông đơn giản.
Cam kết tôi đã nhân bản là cam kết tiếp theo:
$ git log --tên-trạng thái HEAD^..HEAD
cam kết 4c28fc417c978090ae8def91b81ed59f439e797a (HEAD -> master, Origin/master, Origin/HEAD)
Hợp nhất: b57371a3 0454031c
Tác giả: bmw <[email protected]>
Ngày: Thứ ba ngày 5 tháng 1 18:02:19 2016 -0500
Hợp nhất yêu cầu kéo #2073 từ alex/more-typos
Đã sửa lỗi chính tả trong tài liệu
cam kết 0454031cce4b88fef44e3e129e879a35b49c2314
Tác giả: Alex Gaynor <[email protected]>
Ngày: CN 3 tháng 1 14:37:08 2016 -0500
Đã sửa lỗi chính tả trong tài liệu
M acme/acme/jose/json_util.py
M acme/acme/jose/util.py
vì vậy, vâng, nó đã cũ.
Bên cạnh đó, tôi có một số thay đổi cục bộ, tất cả được tạo tự động bởi letsencrypt nếu tôi không nhầm; Tôi không nhớ đã sửa đổi bất kỳ tệp nào trong số đó:
trạng thái $ git
Trên nhánh chính
Chi nhánh của bạn được cập nhật với 'origin/master'.
Các thay đổi không được tổ chức cho cam kết:
(sử dụng "git add <file>..." để cập nhật những gì sẽ được cam kết)
(sử dụng "git restore <file>..." để loại bỏ các thay đổi trong thư mục làm việc)
thay đổi kiểu chữ: acme/examples/độc lập/localhost/cert.pem
thay đổi kiểu chữ: acme/examples/độc lập/localhost/key.pem
thay đổi kiểu chữ: bootstrap/archlinux.sh
thay đổi kiểu chữ: bootstrap/centos.sh
thay đổi kiểu chữ: bootstrap/debian.sh
thay đổi kiểu chữ: bootstrap/fedora.sh
thay đổi kiểu chữ: bootstrap/gentoo.sh
thay đổi kiểu chữ: bootstrap/manjaro.sh
thay đổi kiểu chữ: bootstrap/suse.sh
thay đổi kiểu chữ: bootstrap/ubuntu.sh
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/other-vhosts-access-log.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/security.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/serve-cgi-bin.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/sites-enabled/000-default.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/other-vhosts-access-log.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/security.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/serve-cgi-bin.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/000-default.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/encryption-example.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/letsencrypt.conf
thay đổi kiểu chữ: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/mod_macro-example.conf
thay đổi kiểu chữ: letsencrypt-nginx/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/sites-enabled/default
thay đổi kiểu chữ: lethelp-letsencrypt/letshelp_letsencrypt/testdata/mods-enabled/ssl.load
Tệp không bị theo dõi:
(sử dụng "git add <file>..." để bao gồm những gì sẽ được cam kết)
letencrypt.zip
không có thay đổi nào được thêm vào cam kết (sử dụng "git add" và/hoặc "git commit -a")
Cuối cùng, tôi gia hạn chứng chỉ bằng tập lệnh có định dạng sau:
#!/bin/bash
sudo /.../my-letsencrypt-clone/letsencrypt-auto certonly -v -t --webroot \
-w /var/www/web1/ -d www.domain1.com -d domain1.com -d subdomain.domain1.com \
-w /var/www/web2/ -d web2 \
-w /var/www/web3/ -d www.web3.com -d web3.com
last_cert=$(Sudo find /etc/letsencrypt/live/ -type d -iname "www.domain1.com-*" | sắp xếp | tail -n 1)
sudo ln -sfn "$last_cert" /etc/ssl/private/domain1.com
khởi động lại dịch vụ sudo apache2
khởi động lại dịch vụ sudo postfix
Sudo doveadm tải lại
Như bạn có thể suy luận từ tập lệnh, chứng chỉ được chia sẻ bởi các dịch vụ apache2, postfix và doveadm của tôi chứ không phải ai khác.
trong tôi /etc/letsencrypt/live
thư mục Tôi có các nội dung sau:
tổng số 28
drwxr-xr-x 2 root root 4096 Ngày 10 tháng 3 năm 2017 www.domain1.com
drwxr-xr-x 2 root root 4096 Ngày 12 tháng 6 năm 2017 www.domain1.com-0001
drwxr-xr-x 2 root root 4096 Ngày 12 tháng 6 năm 2017 www.domain1.com-0002
drwxr-xr-x 2 root root 4096 Ngày 30 tháng 4 năm 2018 www.domain1.com-0003
drwxr-xr-x 2 gốc gốc 4096 ngày 11 tháng 10 năm 2018 www.domain1.com-0004
drwxr-xr-x 2 root root 4096 Ngày 13 tháng 6 năm 2019 www.domain1.com-0005
drwxr-xr-x 2 root root 4096 20:19 ngày 8 tháng 3 www.domain1.com-0006
Vì vậy, kịch bản chọn (last_cert
biến) thư mục có số cao nhất, là thư mục mà letencrypt đang gia hạn chứng chỉ và thực hiện /etc/ssl/private/domain1.com
chỉ vào nó, bởi vì đó là thư mục mà các dịch vụ của tôi đang sử dụng để tải chứng chỉ đa miền.