Hãy mã hóa xác thực certbot qua HTTPS


16

Từ các tài liệu của plugin webbotot Certbot

Plugin webroot hoạt động bằng cách tạo một tệp tạm thời cho mỗi tên miền bạn yêu cầu ${webroot-path}/.well-known/acme-challenge. Sau đó, máy chủ xác thực Let Encrypt thực hiện các yêu cầu HTTP để xác thực rằng DNS cho mỗi miền được yêu cầu phân giải đến máy chủ đang chạy certbot.

Trên một máy chủ gia đình được sử dụng riêng, tôi đã tắt cổng 80, nghĩa là không có chức năng chuyển tiếp cổng nào được bật trong bộ định tuyến. Tôi không có ý định mở cổng đó.

Làm cách nào tôi có thể nói với certbot rằng máy chủ xác thực không nên thực hiện yêu cầu HTTP, mà là yêu cầu HTTPS (cổng 443), để xác thực quyền sở hữu của tên miền?

Máy chủ xác nhận thậm chí không cần phải xác thực chứng chỉ của máy chủ gia đình, vì nó đã sử dụng HTTP theo mặc định. Tôi có thể có một chứng chỉ tự ký hoặc chứng chỉ được gia hạn, nhưng điều đó không thành vấn đề.

Hiện tại tôi đang ở trong tình huống cần kích hoạt chuyển tiếp cổng 80 cũng như máy chủ trên đó để tạo / gia hạn chứng chỉ. Điều này không cho phép tôi sử dụng một cronjob để gia hạn chứng chỉ. Vâng, với đủ công việc sẽ làm, nhưng tôi đã có một máy chủ nghe trên 443, có thể thực hiện công việc tốt.

Câu trả lời:


8

Theo báo cáo trong https://community.letsencrypt.org/t/shouldnt-verification-via-dns-record-be-a-priority/604/47 các letsencrypt.sh updater xác nhận hỗ trợ qua DNS. Rất ít kịch bản cập nhật dường như đã thực hiện điều này. Tuy nhiên, phương thức HTTP là cách đơn giản nhất để thực hiện cho cấu hình ban đầu.

Tập lệnh bạn có có thể sử dụng TNS SNI hoặc Bằng chứng sở hữu khóa trước để gia hạn. Thông số kỹ thuật có thể được tìm thấy tại https://tools.ietf.org/html/draft-ietf-acme-acme-01#section-7.5 . Nếu đây là trường hợp bạn sẽ không cần bật HTTP.


Cảm ơn, tôi quên mất việc xác minh dựa trên DNS. Rất khó để tìm thấy bất kỳ thông tin nào về nó, vì các tài liệu hầu như không đề cập đến nó. Không có mối liên hệ nào với Namecheap, vì vậy tôi sẽ cố gắng thực hiện ngay bây giờ và kiểm tra xem nó hoạt động như thế nào. Tôi sẽ chấp nhận câu trả lời nếu nó hoạt động như mong đợi, nhưng có thể mất một thời gian vì hiện tại không có tên miền nào để gia hạn. Khác tôi sẽ phải nướng lệnh --webroot vào máy chủ để máy chủ hoạt động như một trình bao bọc có thể được cronjobed.
Daniel F

Chỉ cần kiểm tra, API của Namecheap khá tệ (ghi đè TẤT CẢ các bản ghi để thêm hoặc sửa đổi một), DNS không phải là tùy chọn trong trường hợp này. Tôi cũng đang sử dụng các công cụ đăng ký khác, điều này làm cho việc này trở nên phức tạp hơn (quản lý khóa API). Khóa API của Namecheap cung cấp cho bạn quyền truy cập để đăng ký tên miền mới hoặc chuyển tên miền, điều này không an toàn dưới dạng FK.
Daniel F

@DanielF Tôi hy vọng không xác thực DNS hoặc HTTP sẽ được sử dụng để gia hạn. Không cần thiết vì các máy chủ của bạn sẽ vượt qua TLS SNI cho chứng chỉ hiện có và yêu cầu có thể được ký với chứng chỉ hiện có. Hoặc là đủ. DNS và HTTP là phương thức hợp lý để đăng ký. Bạn nên có 30 ngày để giải quyết các vấn đề khi chứng chỉ đầu tiên của bạn được gia hạn.
BillThor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.