Close Menu
  • Trang chủ
  • Đời sống
    • Cách làm đẹp
    • Sức khỏe
    • Thể dục & Tập luyện
    • Thời trang
  • Khám phá
    • Người nổi tiếng
    • Công nghệ
    • Hướng dẫn du lịch
    • Kinh doanh
  • Thủ thuật
    • Hosting & Máy chủ
    • Hướng dẫn Blogger
    • WordPress & Plugin
  • Tiếng Việt
    • Tiếng Việt
    • Hmong
    • English
Facebook YouTube X (Twitter) Instagram
Trending
  • Cách tạo khung bình luận đẹp cho Blogger bằng CSS
  • Amazfit cập nhật ngưỡng lactate: Dùng dữ liệu để chạy vừa sức hơn
  • Yandex Webmaster cho người mới: Từ URL chính thức đến báo cáo tìm kiếm
  • Checklist Yandex Webmaster: nghiệm thu thiết lập và theo dõi 30 ngày
  • Yandex Webmaster và Metrica: Khi nào nên dùng cả hai?
  • Cách đọc lượt hiển thị, lượt nhấp, CTR và vị trí trong Yandex Webmaster
  • Thiết lập khu vực Yandex và kiểm tra website hiển thị ra sao
  • Cách đọc cảnh báo Yandex Webmaster khi trang chưa được lập chỉ mục
Facebook YouTube X (Twitter) Instagram
SaibABCSaibABC
Chú thích cho quảng cáo
  • Trang chủ
  • Đời sống
    1. Cách làm đẹp
    2. Sức khỏe
    3. Thể dục & Tập luyện
    4. Thời trang
    5. View All

    AI phân tích da có chính xác không? Cách dùng an toàn, tránh mua máy móc

    25/08/2026

    Chăm sóc da đầu tại nhà: Gội, tẩy tế bào chết và massage đúng cách

    25/08/2026

    Chăm sóc da khi giảm cân: Giữ da ẩm, khỏe và săn chắc hơn

    24/08/2026

    PDRN, peptide và mỹ phẩm công nghệ sinh học: Cách đọc quảng cáo

    24/08/2026

    Amazfit cập nhật ngưỡng lactate: Dùng dữ liệu để chạy vừa sức hơn

    28/09/2026

    Chạy bộ trong nắng nóng: Đọc WBGT và biết lúc nào phải dừng

    19/09/2026

    Tập luyện khi rung nhĩ: Bắt đầu và tăng vận động thế nào cho an toàn?

    19/09/2026

    Vì sao Suunto Run đã cập nhật nhưng vùng nhịp tim vẫn có thể sai?

    19/09/2026

    Chạy bộ trong nắng nóng: Đọc WBGT và biết lúc nào phải dừng

    19/09/2026

    Tập luyện khi rung nhĩ: Bắt đầu và tăng vận động thế nào cho an toàn?

    19/09/2026

    Bài tập 5 phút tại văn phòng: Lịch vận động snack-sized

    23/08/2026

    Bài tập core hiệu quả: Từ người mới đến nâng cao

    16/01/2024

    Trang phục du lịch mùa đông cho nam và nữ: Gợi ý theo thời tiết

    30/08/2026

    Digital Product Passport thời trang: Đọc gì trên mã QR quần áo?

    23/08/2026

    Thời trang 2026: Cách xây tủ đồ tối giản nhưng vẫn linh hoạt

    21/08/2026

    Amazfit cập nhật ngưỡng lactate: Dùng dữ liệu để chạy vừa sức hơn

    28/09/2026

    Chạy bộ trong nắng nóng: Đọc WBGT và biết lúc nào phải dừng

    19/09/2026

    Tập luyện khi rung nhĩ: Bắt đầu và tăng vận động thế nào cho an toàn?

    19/09/2026

    Vì sao Suunto Run đã cập nhật nhưng vùng nhịp tim vẫn có thể sai?

    19/09/2026
  • Khám phá
    1. Người nổi tiếng
    2. Công nghệ
    3. Hướng dẫn du lịch
    4. Kinh doanh
    Featured

    Review Samsung Galaxy S26 Ultra: Đáng mua ở điểm nào, còn thiếu gì?

    By Nuj Coom16/09/2026
    Recent

    Review Samsung Galaxy S26 Ultra: Đáng mua ở điểm nào, còn thiếu gì?

    16/09/2026

    So sánh iPhone 18 Pro Max và Galaxy S26 Ultra: Đâu là lựa chọn phù hợp?

    16/09/2026

    CPU Performance API: Chọn giao diện nhẹ hơn cho máy yếu

    13/09/2026
  • Thủ thuật
    1. Hosting & Máy chủ
    2. Hướng dẫn Blogger
    3. WordPress & Plugin
    4. View All

    Cài Let’s Encrypt trên Vultr: Bật HTTPS và tự động gia hạn chứng chỉ

    09/09/2026

    Cài WordPress trên VPS Vultr chi tiết và đưa website chạy HTTPS an toàn

    08/09/2026

    Kết nối tên miền với VPS Vultr và xác minh website hoạt động

    08/09/2026

    Đăng ký và triển khai VPS Ubuntu trên Vultr qua SSH

    07/09/2026

    Cách tạo khung bình luận đẹp cho Blogger bằng CSS

    28/09/2026

    Sao lưu Blogger đúng cách và phân quyền cộng tác viên an toàn

    26/09/2026

    Sau khi đăng ký AdSense: Đọc phản hồi, bật quảng cáo và theo dõi thanh toán

    26/09/2026

    Đăng ký hoặc liên kết AdSense với Blogger từng bước

    26/09/2026

    Yandex Webmaster cho người mới: Từ URL chính thức đến báo cáo tìm kiếm

    26/09/2026

    Checklist Yandex Webmaster: nghiệm thu thiết lập và theo dõi 30 ngày

    26/09/2026

    Yandex Webmaster và Metrica: Khi nào nên dùng cả hai?

    26/09/2026

    Cách đọc lượt hiển thị, lượt nhấp, CTR và vị trí trong Yandex Webmaster

    26/09/2026

    Cách tạo khung bình luận đẹp cho Blogger bằng CSS

    28/09/2026

    Yandex Webmaster cho người mới: Từ URL chính thức đến báo cáo tìm kiếm

    26/09/2026

    Checklist Yandex Webmaster: nghiệm thu thiết lập và theo dõi 30 ngày

    26/09/2026

    Yandex Webmaster và Metrica: Khi nào nên dùng cả hai?

    26/09/2026
  • Tiếng Việt
    • Tiếng Việt
    • Hmong
    • English
SaibABCSaibABC
Home»Thủ thuật Web»Hosting & Máy chủ»Cấu hình HTTPS cho Apache bằng Let’s Encrypt trên Ubuntu
Hosting & Máy chủ 7 Mins ReadKhông có bình luận

Cấu hình HTTPS cho Apache bằng Let’s Encrypt trên Ubuntu

Nuj CoomBy Nuj CoomUpdated:02/09/2026
Facebook Twitter Pinterest LinkedIn Tumblr Email
Chú thích cho quảng cáo

Contents

  1. Giới thiệu
  2. Điều kiện cần thiết
  3. Bước 1 — Cài đặt Certbot
  4. Bước 2 — Kiểm tra cấu hình VirtualHost của Apache
  5. Bước 3 — Mở HTTP và HTTPS trên firewall
  6. Bước 4 — Cấp và cài chứng chỉ TLS
  7. Bước 5 — Kiểm tra tự động gia hạn của Certbot
  8. Kết luận
  9. Nguồn tham khảo

Giới thiệu

Let’s Encrypt là một Certificate Authority (CA) miễn phí, tự động, cấp chứng chỉ TLS để xác thực máy chủ và mã hóa kết nối giữa trình duyệt với máy chủ web. Certbot là ứng dụng khách ACME dùng để yêu cầu, cài đặt và tự động gia hạn chứng chỉ. Với plugin Apache, Certbot có thể tìm VirtualHost phù hợp, bổ sung cấu hình TLS và tải lại Apache sau khi cài đặt (theo Tài liệu Ubuntu Server).

Trong hướng dẫn này, bạn sẽ dùng Certbot để cấp chứng chỉ cho Apache trên Ubuntu 22.04 hoặc Ubuntu 24.04, bật HTTPS và kiểm tra cơ chế tự động gia hạn.

Bài viết sử dụng một tệp VirtualHost riêng cho website thay vì chỉnh sửa cấu hình mặc định của Apache. Cách này giúp mỗi domain có cấu hình độc lập và dễ quản lý khi máy chủ phục vụ nhiều website.

Điều kiện cần thiết

Để thực hiện hướng dẫn, bạn cần:

  • Một máy chủ Ubuntu 22.04 hoặc Ubuntu 24.04 có người dùng không phải root, quyền quản trị thông qua sudo và firewall đã được cấu hình. Bạn có thể tham khảo hướng dẫn thiết lập máy chủ Ubuntu.
  • Một domain đã đăng ký. Trong bài viết, domain mẫu là your_domain.
  • DNS của domain trỏ về địa chỉ IP công khai của máy chủ. Nếu muốn cấp một chứng chỉ cho cả hai tên, hãy tạo:
    • Bản ghi A hoặc bản ghi AAAA cho your_domain, tùy loại địa chỉ máy chủ.
    • Bản ghi A hoặc bản ghi AAAA cho www.your_domain, nếu website sử dụng tên này.
  • Apache đã được cài đặt và có VirtualHost cho domain, chẳng hạn /etc/apache2/sites-available/your_domain.conf. Xem thêm cách cài Apache trên Ubuntu.
  • Cổng TCP 80 phải truy cập được từ Internet khi dùng phương thức xác minh HTTP-01; cổng TCP 443 cần được mở để người dùng truy cập HTTPS (theo Tài liệu Ubuntu Server).

Bước 1 — Cài đặt Certbot

Tài liệu Ubuntu hiện hướng dẫn cài Certbot từ Snap Store. Cách này giúp Certbot được cập nhật độc lập với chu kỳ phát hành gói APT của Ubuntu.

Chú thích cho quảng cáo

Nếu Snap chưa được cài trên máy chủ, hãy cài snapd:

sudo apt update
sudo apt install snapd

Sau đó cài Certbot:

sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot

Trong trường hợp lệnh certbot chưa được tìm thấy sau khi cài đặt, tạo liên kết đến tệp thực thi:

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Nếu máy chủ đã có Certbot từ APT, hãy kiểm tra gói hiện có trước khi chuyển sang Snap. Không nên cài hai bản Certbot cùng lúc nếu bạn không chắc chúng đang dùng chung cơ chế gia hạn. Có thể xem các gói liên quan bằng:

apt list --installed 2>/dev/null | grep -E 'certbot|python3-certbot'

Kiểm tra phiên bản đã cài:

certbot --version

Bước 2 — Kiểm tra cấu hình VirtualHost của Apache

Để tự động cấp và cài chứng chỉ, Certbot cần tìm đúng VirtualHost trong cấu hình Apache. Tên domain được lấy từ các chỉ thị ServerName và ServerAlias. VirtualHost đang sử dụng nên được bật trong thư mục /etc/apache2/sites-enabled/.

Mở tệp VirtualHost của domain:

sudo nano /etc/apache2/sites-available/your_domain.conf

Đảm bảo tệp có các dòng tương tự:

<VirtualHost *:80>
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
</VirtualHost>

Nếu website chưa được bật, hãy bật VirtualHost rồi kiểm tra cú pháp:

sudo a2ensite your_domain.conf
sudo apache2ctl configtest

Kết quả mong đợi là Syntax OK. Nếu không có lỗi, tải lại Apache và xem danh sách VirtualHost:

sudo systemctl reload apache2
sudo apache2ctl -S

Bước 3 — Mở HTTP và HTTPS trên firewall

Nếu sử dụng UFW, hãy cho phép SSH, HTTP và HTTPS. Không nên đóng cổng 80 trước khi hoàn tất việc cấp chứng chỉ, vì phương thức HTTP-01 xác minh quyền kiểm soát domain bằng cách gửi yêu cầu HTTP đến máy chủ qua cổng này (theo Tài liệu Ubuntu Server).

sudo ufw status
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'

Nếu profile Apache Full không tồn tại, xem danh sách profile hoặc mở trực tiếp hai cổng web:

sudo ufw app list
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status

Nếu trước đó đã cho phép profile chỉ dành cho HTTP, bạn có thể xóa quy tắc cũ sau khi xác nhận quy tắc HTTPS hoạt động:

sudo ufw delete allow 'Apache'

Ngoài UFW, hãy kiểm tra firewall của nhà cung cấp VPS, security group, router hoặc load balancer nếu có. Các lớp mạng này cũng phải cho phép lưu lượng đến cổng 80 và 443.

Bước 4 — Cấp và cài chứng chỉ TLS

Chạy Certbot với plugin Apache và chỉ định đầy đủ các domain cần bảo vệ:

sudo certbot --apache -d your_domain -d www.your_domain

Certbot sẽ yêu cầu địa chỉ email để gửi cảnh báo, yêu cầu bạn chấp thuận điều khoản dịch vụ và hỏi có muốn chuyển hướng HTTP sang HTTPS hay không. Với website công khai, chuyển hướng toàn bộ HTTP sang HTTPS thường là lựa chọn phù hợp, miễn là ứng dụng không cần duy trì HTTP riêng.

Mỗi tùy chọn -d thêm một tên miền vào chứng chỉ dưới dạng Subject Alternative Name (SAN). Vì vậy, hãy liệt kê tất cả domain cần sử dụng ngay trong cùng một lệnh.

Sau khi hoàn tất, các tệp chứng chỉ thường nằm tại:

/etc/letsencrypt/live/your_domain/fullchain.pem
/etc/letsencrypt/live/your_domain/privkey.pem

fullchain.pem chứa chứng chỉ máy chủ cùng chuỗi chứng chỉ trung gian; privkey.pem là khóa riêng. Không chia sẻ khóa riêng hoặc cấp quyền đọc khóa này cho người dùng không cần thiết. Certbot thường sử dụng các đường dẫn trong thư mục live để cấu hình dịch vụ.

Certbot sẽ tạo hoặc cập nhật cấu hình HTTPS cho Apache, sau đó tải lại dịch vụ. Mở cả https://your_domain và https://www.your_domain để xác nhận đúng domain, chứng chỉ và chuyển hướng.

Bạn có thể dùng SSL Labs Server Test để kiểm tra chứng chỉ và cấu hình TLS từ một dịch vụ bên ngoài.

Bước 5 — Kiểm tra tự động gia hạn của Certbot

Chứng chỉ Let’s Encrypt theo hồ sơ mặc định hiện vẫn có thời hạn 90 ngày. Let’s Encrypt đang triển khai các hồ sơ có thời hạn ngắn hơn: hồ sơ tlsserver có thể cấp chứng chỉ 45 ngày từ ngày 13 tháng 5 năm 2026, còn hồ sơ mặc định classic dự kiến chuyển sang 64 ngày vào ngày 10 tháng 2 năm 2027 và 45 ngày vào ngày 16 tháng 2 năm 2028. Phần lớn người dùng tự động gia hạn không cần thay đổi ngay, nhưng cần bảo đảm lịch gia hạn không dựa trên khoảng thời gian cố định quá dài (theo Let’s Encrypt).

Bản Certbot cài từ Snap thiết lập systemd timer để thử gia hạn hai lần mỗi ngày. Kiểm tra timer bằng lệnh:

sudo systemctl status snap.certbot.renew.timer

Chạy thử quy trình gia hạn mà không thay đổi chứng chỉ đang sử dụng:

sudo certbot renew --dry-run

Nếu kết quả cho biết lần gia hạn mô phỏng thành công, cấu hình cơ bản đã sẵn sàng. Khi chứng chỉ gần hết hạn, Certbot sẽ tự động gia hạn; với chứng chỉ được cài qua plugin Apache, Apache được tải lại sau khi gia hạn thành công (theo Tài liệu Ubuntu Server).

Nếu website dùng reverse proxy, load balancer hoặc firewall mạng riêng, hãy kiểm tra khả năng truy cập từ Internet và xem nhật ký khi lệnh --dry-run thất bại. Với domain không thể phục vụ HTTP-01 qua cổng 80 hoặc khi cần chứng chỉ wildcard như *.example.com, có thể dùng phương thức DNS-01 và plugin DNS tương ứng.

Kết luận

Bạn đã cài Certbot, kiểm tra VirtualHost Apache, mở các cổng web cần thiết, cấp chứng chỉ TLS Let’s Encrypt và xác minh cơ chế tự động gia hạn. Sau khi bật HTTPS, hãy kiểm tra cả domain chính và domain www, theo dõi nhật ký gia hạn và xử lý sớm mọi cảnh báo để tránh chứng chỉ hết hạn.

Nguồn tham khảo

  • Ubuntu Server — Obtain TLS certificates
  • Ubuntu Server — Firewall và UFW
  • Ubuntu Server — Cài đặt Apache2
  • Let’s Encrypt — Decreasing Certificate Lifetimes to 45 Days
  • Let’s Encrypt — Best Practice: Keep Port 80 Open

Chú thích cho quảng cáo
Apache Bảo mật máy chủ Certbot HTTPS Let’s Encrypt TLS Ubuntu
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Bài trước đóCách cài đặt LAMP Stack trên Ubuntu: Linux, Apache, MySQL và PHP
Bài tiếp theo 12 công cụ AI cho blogger năm 2026: chọn đúng theo từng khâu
Nuj Coom
  • Website
  • Facebook
  • X (Twitter)
  • Instagram

I'm a doctor, for sure. But I also love writing and sharing knowledge, life experiences, web tricks, and useful lectures. Let's cheer for your passion.

Bài viết liên quan

Sửa lỗi tên miền Blogger: Chẩn đoán đúng trước khi chỉnh DNS và HTTPS

23/09/2026

Kết nối tên miền riêng với Blogger và kiểm tra HTTPS đúng cách

23/09/2026

Hướng dẫn bảo mật website WordPress cho người mới bắt đầu

17/09/2026
Add A Comment
Leave A Reply Cancel Reply

Bài gần đây

Hosting xanh: Kiểm chứng PUE, nguồn điện và workload carbon-aware

Cài Let’s Encrypt trên Ubuntu với OpenLiteSpeed và tự động gia hạn

AI phân tích da có chính xác không? Cách dùng an toàn, tránh mua máy móc

IPv6 hosting thực tế: Kiểm tra website, DNS, CDN và máy chủ đã sẵn sàng chưa

Di chuyển XSLT khỏi trình duyệt trước khi Chrome 158 tắt hỗ trợ

Advertisement
Chú thích cho quảng cáo

ĐĂNG KÝ THÔNG BÁO

Nhận tin tức sáng tạo mới nhất từ ​​SaibABC.Com về các thủ thuật, thiết kế và kinh doanh trên web.

Copyright © 2024. Designed by NujCoom.
  • Trang chủ
  • Chính sách
  • Liên hệ
  • Hmong
  • English

Type above and press Enter to search. Press Esc to cancel.