Cài đặt chứng chỉ SSL và HTTPS lên Apache [CentOS 6] [NEW]

Thật là buồn cười khi trên blog của tôi có một bài hướng dẫn cách cài đặt SSL và HTTPS trên NGINX cho máy chủ CentOS 6, nhưng nó lại thiếu hướng dẫn cho máy chủ web Apache, vốn rất phổ biến.

Cũng vì sự ồn ào, tôi sẽ viết bài này để cài đặt chứng chỉ SSL đã được xác minh (chứng chỉ đã mua) trên máy chủ CentOS 6 và sử dụng nó cho máy chủ web Apache, và sẽ cài thêm mod_spdy cho Apache để tăng tốc khi sử dụng giao thức HTTPS.

Làm trước khi cài đặt SSL

  • VPS cơ bản [Phần 7] – Cài đặt Apache Webserver “href =” https://thachpham.com/hosting-domain/vps-basic-apache-va-virtualhost.html”>Cài đặt Apache Webserver trên CentOS 6, nhớ thêm miền bằng VirtualHost.
  • Cài đặt PHP 5.4 đến CentOS 6.
  • Cài đặt MySQL vào CentOS 6.
  • Nên mua PositiveSSL tại Namecheapchỉ $ 9 / năm.

Cài đặt mod_ssl

Để có thể cài đặt chứng chỉ SSL cho Apache, trước tiên bạn cần cài đặt nó mod_ssl của Apache bằng lệnh sau:

[bash]yum cài đặt mod_ssl[/bash]

Tạo một thư mục để lưu chứng chỉ

Bây giờ hãy tạo một thư mục để lưu các tệp chứng chỉ SSL vào để bước cuối cùng chúng ta có thể dễ dàng đính kèm vào VirtualHost, tôi khuyên bạn nên tạo trong thư mục / etc / httpd để dễ quản lý, ví dụ như tôi sẽ tạo một thư mục có tên / etc / httpd / ssl.

[bash]mkdir / etc / httpd / ssl[/bash]

Tạo khóa cá nhân cho máy chủ

Trước tiên, chúng tôi sẽ cần tạo một Khóa cá nhân của máy chủ Đối với máy chủ mà bạn cần cài đặt và kích hoạt SSL, mỗi máy chủ chỉ cần một Server Private Key.

Bây giờ tôi muốn tạo một máy chủ khóa riêng có tên thachpham.me.key sau đó sẽ sử dụng lệnh sau để tạo, bạn nhớ lưu nó vào thư mục đã tạo chứng chỉ ở trên.

[bash]openssl genrsa -out /etc/httpd/ssl/thachpham.me.key 2048[/bash]

Thông báo sau khi tạo xong.

[[email protected] public]# openssl genrsa -out /etc/httpd/ssl/thachpham.me.key 2048
Generating RSA private key, 2048 bit long modulus
.......................................+++
....+++
e is 65537 (0x10001)
[[email protected] public]#

Tạo khóa CSR

Bước này sẽ khá quan trọng và nó sẽ quyết định chứng chỉ SSL của bạn đã mua có thể chạy trên máy chủ hay không.

Bởi vì cuối cùng chúng ta cần một tệp có tên là .crt Để kích hoạt SSL cho trang web, chúng tôi sẽ cần tạo một CSR Chìa khóa (yêu cầu đăng kí chứng chỉ) để tạo một chuỗi mã hóa đặc biệt để gửi yêu cầu xác thực chứng chỉ SSL cho miền bạn cần thiết lập hoặc nói đúng hơn, sau khi bạn gửi Khóa CSR cho nhà cung cấp, họ sẽ cấp cho bạn một tệp CRT khớp với CSR của bạn.

Mỗi miền sẽ có một CSR riêng biệt, vì vậy bạn cần thực hiện lại bước này nếu sau này muốn xác thực cho các miền khác trên cùng một máy chủ. Và mỗi khi chuyển đổi máy chủ, bạn cũng cần tạo một Khóa CSR mới.

Ví dụ: trên máy chủ của tôi, có một tệp Khoá Cá nhân Máy chủ có tên /etc/httpd/ssl/thachpham.me.key và tôi muốn tạo một tệp có tên CSR là /etc/httpd/ssl/thachpham.me.csr sau đó viết lệnh sau:

[bash]openssl req -new -key /etc/httpd/ssl/thachpham.me.key -out /etc/httpd/ssl/thachpham.me.csr[/bash]

Và bây giờ, bạn sẽ nhập các thông tin sau (gõ không dấu). Bạn điền từ từ, nếu điền sai thì nhấn Ctrl + X (hoặc Ctrl + C, Ctrl + Z) rồi chạy lại lệnh trên để điền lại.

  • Tên quốc gia (mã gồm 2 chữ cái) [XX]: Mã quốc gia, đối với Việt Nam là VN.
  • Tên Tiểu bang hoặc Tỉnh (tên đầy đủ) []: Tên tỉnh
  • Tên địa phương (ví dụ: thành phố) [Default City]: Tên thành phố / quận
  • Tên tổ chức (ví dụ: công ty) [Default Company Ltd]: Tên công ty, doanh nghiệp
  • Tên đơn vị tổ chức (ví dụ: phần) []: Lĩnh vực hoạt động
  • Tên thường gọi (ví dụ: tên của bạn hoặc tên máy chủ của máy chủ của bạn) []: Tên miền của trang web được xác thực (ví dụ: thachpham.com, không chứa www)
  • Địa chỉ email []: Địa chỉ email

Và 2 tính năng bổ sung này bạn không cần nhập mà chỉ cần Enter.

Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []:
 An optional company name []:

Và đây là biểu mẫu của tôi:

Country Name (2 letter code) [XX]:VN
State or Province Name (full name) []:Ba Ria Vung Tau
Locality Name (eg, city) [Default City]:Vung Tau
Organization Name (eg, company) [Default Company Ltd]:Thach Pham Blo
Organizational Unit Name (eg, section) []:Blogging
Common Name (eg, your name or your server's hostname) []:thachpham.me
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Nếu nó không hỏi thêm nữa thì bạn đã hoàn tất, bây giờ bạn có một Chìa khóa CSR được lưu trữ trong tệp .csrlà chìa khóa mà chúng tôi sẽ sử dụng để kích hoạt chứng chỉ SSL mà bạn đã mua.

[bash]

[[email protected] công khai]# cat /etc/httpd/ssl/thachpham.me.csr
—– YÊU CẦU GIẤY CHỨNG NHẬN—–
MIIC6TCCAdECAQAwgaMxCzAJBgNVBAYTAlZOMRgwFgYDVQQIDA9CYSBSaWEgVnVu
ZyBUYXUxETAPBgNVBAcMCFZ1bmcgVGF1MRcwFQYDVQQKDA5UaGFjaCBQaGFtIEJs
bzERMA8GA1UECwwIQmxvZ2dpbmcxFTATBgNVBAMMDHRoYWNocGhhbS5tZTEkMCIG
CSqGSIb3DQEJARYVY29udGFjdEB0aGFjaHBoYW0uY29tMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAvISp / HFv2b3ARGIMOEbe + fEVjaX + 9BUp8dlvEJyk
3vrZGF5EH0Iti7W3bHFH + h + SUylRlJp7uUwrfN4CUDz6I0OjfNU2YPDkaxiggNnd
KHENZY6CV6FogJOscQgTtixUMUv7GljE6ofY3h / F7ckFcuR2mwhzx0z5vwaRA4K0
rJG + zfSyWcdjvtP9QROlvRBeecFWcx3bLVpfpwhHrbeX1fssozlY9eT92wVovuku
noowA6gxulV2dKVbx4n5aNoCKbksxlfPJ6InrGTtL2tyjE6d5Hgbdjr / zafb + sDY
cTOMllLFD1zT03NBu5sJVjj3ybfHVSFVxXEw0wjdHAY + MwIDAQABoAAwDQYJKoZI
hvcNAQEFBQADggEBABLAMG3XV2w28XfAIWezv + 3BjZqRgypp9ebJZ8InCy4Q1NUH
Vz4WAgfhHkMrjDojf9Za33a / KE6KZYre5iANAjGvQDkE0 / XLV5JyAMYFTairEbC8
1HIZUPxWXTv + OeIkykm2ZjN7qB8Y0Y9jQFMIxbp6HgBjYRRMGkpdOemfQ4psKEqU
UK2fL0TR4PrniiodkgiHYc + xpggCbYFQLaG59EyA4cQZJpDhew7I9UKcRLnfQoHW
wIJ1wWcMzqUsIWYxvr6M + mgFnBQf4BvWlqPCFzwEMvZgzhpkWD / AVDBovTjydM81
t / JGRywWqdfgneavoUZmtWPUJz + MV7GPZCRWYkk =
—–END YÊU CẦU GIẤY CHỨNG NHẬN—–
[[email protected] công cộng]#
[/bash]

Gửi xác thực SSL

Bây giờ tôi đi đến Namecheap, đi tới Quản lý chứng chỉ SSL và nhấn. cái nút Kích hoạt ngay trên SSL bạn đã mua.

Cài đặt chứng chỉ SSL và HTTPS lên Apache [CentOS 6] [NEW]

Kích hoạt SSL tại Namecheap

Sau đó chọn loại máy chủ web Apache + MOD SSL và sao chép nội dung của tệp .csr của bạn vào.

ssl-apache-02

Chọn loại máy chủ web và nhập Khóa CSR

Nhấn Next và chọn email bạn đang sử dụng, hãy chắc chắn rằng đó là email bạn đang sử dụng vì nó sẽ phải được xác thực qua email.

ssl-apache-03

Chọn địa chỉ email của miền cần xác thực SSL

Và điền thông tin cá nhân, nhập email để nhận key xác thực và nhấn Gửi Đơn hàng.

ssl-apache-04

Bây giờ tất cả những gì còn lại là bạn nhập email sở hữu tên miền cần xác thực để kích hoạt.

Bật SSL cho Apache

Sau khi kích hoạt, nó sẽ gửi qua email để nhận bộ key xác thực SSL, giải nén ra, bạn sẽ nhận được một tệp .crt và một tệp .ca-pack, tải tất cả lên thư mục / etc / httpd / ssl. Sau đó mở tệp /etc/httpd/conf.d/ssl.conf Đi lên và tìm một cặp thẻ <VirtualHost _default_:443>..........</VirtualHost> sau đó xóa và chèn đoạn này:

<VirtualHost *:443>
DocumentRoot "/home/dichvuwordpress/public"
ServerName thachpham.me:443

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/thachpham_me.crt
SSLCertificateKeyFile /etc/httpd/ssl/thachpham.me.key
CustomLog logs/ssl_request_log
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</VirtualHost>

Bạn thay đổi tất cả các thông tin trên thành của riêng bạn, cụ thể:

  • DocumentRoot: Đường dẫn đến thư mục lưu trang web.
  • ServerName: Tên miền của website, nhớ thêm số cổng 443 vào đuôi.
  • SSLCertificateFile: Đường dẫn của tệp .crt đã tải lên.
  • SSLCertficateKeyFile: Đường dẫn của tệp .key được tạo ở bước đầu tiên.

Lưu, khởi động lại Apache.

[bash]dịch vụ httpd khởi động lại[/bash]

Sau đó, xóa cookie và bộ nhớ cache của trình duyệt và truy cập vào miền có dạng https://domain.com hoặc sử dụng trình duyệt khác để kiểm tra.

ssl-apache-05

Thiết lập HTTPS cho WordPress

Bạn xem lại hai bước cuối cùng của bài học này.

Cài đặt mod_spdy

Đầu tiên hãy chạy lệnh để cài đặt tại và cài đặt.

[bash]đĩa CD

yum cài đặt tại wget -y[/bash]

Sau đó tải xuống gói có gói tương ứng với loại hệ điều hành của bạn.

[bash]

# CentOS 6 32-bit

wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm

# CentOS 6 64-bit

wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_x86_64.rpm

[/bash]

Và cài đặt nó.

[bash]rpm -U mod-spdy – *. rpm[/bash]

Sau khi cài đặt xong, bạn vào thư mục /etc/httpd/conf.d/ và xem tệp spdy.conf là cài đặt thành công. Bạn có thể mở và xóa dấu nhận xét trong hai dòng sau:

SpdyMaxThreadsPerProcess

SpdyMaxStreamsPerConnection

Để kiểm tra SPDY đã hoạt động hay chưa, bạn vào https://spdycheck.org gõ tên trang web vào để kiểm tra, nếu hiện ra như hình bên dưới là đã thành công.

ssl-apache-06

Chúc may mắn!

Đánh giá nội dung này