Mẹo nhanh để cài đặt chứng chỉ SSL trên máy chủ Apache 2
Quỹ Apache đã phát hành phiên bản mới (Phiên bản 2) vào năm 2002 sau thành công vượt trội của phiên bản đầu tiên. Phiên bản 2 chủ yếu tập trung vào việc mô đun hoá hơn nữa sự phát triển của lõi Apache, nhưng cũng có một số cải tiến bao gồm Unix luồng, hỗ trợ IP phiên bản 6 và quan trọng nhất, hỗ trợ tốt hơn cho các nền tảng không phải Unix như Microsoft Windows.
Những cải tiến mạnh mẽ này đã làm cho máy chủ web Apache trở thành lựa chọn số một để lưu trữ hơn 100 triệu trang web và ứng dụng web trên internet.
Nếu bạn đã cài đặt Apache 2.x rồi, thì bạn tốt khi bạn không cần cài đặt thêm bất kỳ thứ gì.
Nếu bạn chưa cài đặt nó, thì bạn có thể dễ dàng làm như vậy với hướng dẫn từng bước của chúng tôi:
earth:~# apt-get install apache2 Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: apache2-common apache2-mpm-worker apache2-utils cheapsslsecurityssl-cert Suggested packages: apache2-doc ca-certificates The following NEW packages will be installed: apache2 apache2-common apache2-mpm-worker apache2-utils cheapsslsecurityssl-cert 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. Need to get 2040kB of archives. After unpacking 6218kB of additional disk space will be used. Do you want to continue? [Y/n]
Khi máy chủ được cài đặt, bạn cần thực hiện ba việc để thiết lập SSL hoạt động:
- Tạo hoặc nhập chứng chỉ
- Bật hỗ trợ SSL của Apache
- Định cấu hình tùy chọn SSL của bạn
Tạo chứng chỉ
Việc tạo một chứng chỉ từ đầu sẽ bảo vệ lưu lượng được trao đổi giữa các máy khách và máy chủ của bạn; tuy nhiên, nếu chứng chỉ được ký bởi một cơ quan cấp chứng chỉ không đáng tin cậy thì nó sẽ tạo ra các cảnh báo.
Việc nhập chứng chỉ có trả tiền và “đáng tin cậy” sẽ tránh được vấn đề này, nhưng điều đó nằm ngoài phạm vi của phần giới thiệu đơn giản này.
Bạn đọc có thể theo dõi phần này để biết cách tạo mã CSR cho Apache.
Bật hỗ trợ SSL
Để sử dụng các cơ sở SSL của Apache2, bạn phải kích hoạt mod_ssl module, điều này có thể đạt được bằng cách sử dụng công cụ trợ giúp a2enmod
Khi chạy root:
earth:~# a2enmod ssl Module ssl installed; run /etc/init.d/apache2 force-reload to enable.
Khi thực hiện xong, bạn sẽ thiết lập Apache để chấp nhận các kết nối SSL, nhưng máy chủ sẽ chỉ lắng nghe các yêu cầu HTTP đến trên cổng 80 – và không phải các kết nối SSL trên cổng 443. Để khắc phục điều này, bạn phải thêm một dòng vào tệp /etc/apache2/ports.conf:
Listen 443
Với hai bước này, bạn đã có một thiết lập Apache sẽ lắng nghe và chấp nhận các kết nối SSL. Bước tiếp theo là sửa đổi máy chủ ảo của bạn để sử dụng nó.
Định cấu hình máy chủ SSL của bạn
Với cài đặt chứng chỉ và máy chủ được cập nhật để tải và nghe các kết nối SSL đến, bạn sắp hoàn tất. Bước cuối cùng sẽ là khi máy chủ ảo hoặc máy chủ hosting chính chấp nhận các tùy chọn SSL.
Tôi sử dụng máy chủ ảo trên máy tính của mình, điều đó có nghĩa là thêm một vài tùy chọn cho mỗi máy tôi muốn sử dụng SSL cho:
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem
Để tham khảo ở đây là một ví dụ hoàn chỉnh để chỉnh sửa hoặc để hiểu:
NameVirtualHost *:443 NameVirtualHost *:80 <VirtualHost *:80> ServerNameeThan.my.flat DocumentRoot /var/www/ ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined </VirtualHost> <VirtualHost *:443> ServerNameeThan.my.flat DocumentRoot /var/www/ ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem </VirtualHost>
Trước khi cài đặt SSL trên Apache
Máy chủ Apache chỉ chấp nhận Chứng chỉ SSL từ Cơ quan cấp chứng chỉ SSL chính hãng và đáng tin cậy. Do vậy hãy tìm chứng chỉ SSL được cung cấp bởi các cơ quan cấp phát dịch vụ chính hãng