Want create site? Find Free WordPress Themes and plugins.

Tôi vừa cấu hình cho con server riêng của mình chạy SSL ( kết nối https ) thành công, và sau đây mình xin chia sẻ cách cài kết nối an toàn này cho server hoặc VPS chạy CentOS của các bạn, chúng ta cùng bắt đầu nào:

1. Bắt đầu bằng mod_ssl:

Để chạy được kết nối SSL bạn cần phải chuẩn bị vài thứ, tùy thuộc vào bạn muốn cài phần mềm nào, hoặc theo như ý kiến của mình thì đơn giản nhất là OpenSSL và mod_ssl của Apache, sử dụng lệnh YUM:

yum install mod_ssl openssl

Nếu dòng terminal hỏi gì các bạn cứ Yes cho mình 😀

2. tạo self-signed certificate đầu tiên:

Sử dụng OpenSSL bạn phải tạo một chữ ký số riêng cho mình, nếu bạn đang sử dụng cho mục đích bảo mật website cho một dự án quan trọng thì bạn nên sử dụng dịch vụ Trusted Certificate Authority của một số nhà cung cấp, các bạn có thể Googling để có kết quả tốt nhất. Còn nếu bạn đang dùng SSL cho mục đích thí nghiệm hoặc trang cá nhân nhỏ thì có thể dùng free, nhưng nên nhớ là Browser sẽ hỏi bạn có tiếp tục với key đó không nếu bạn ghé thăm bằng ssl. Chạy lệnh sau:

# Generate private key 
openssl genrsa -out ca.key 2048 

# Generate CSR 
openssl req -new -key ca.key -out ca.csr

# Generate Self Signed Key
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

# Copy the files to the correct locations
cp ca.crt /etc/pki/tls/certs
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr

Lưu ý: Đừng sử dụng FTP để di chuyển hoặc chỉnh sửa các file key này kẻo lại báo lỗi ở bên Apache mỗi khi kết nối !

Hãy sử dụng SELinux để di chuyển hoặc copy file, không nên mở FTP lên để làm việc này nha:

restorecon -RvF /etc/pki

Tiếp theo là chúng ta cần phải update cái Apache SSL configuration file:

vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf

Và chuyển sang folder mà chúng ta vừa để các file CER:

SSLCertificateFile /etc/pki/tls/certs/ca.crt

Tiếp:

SSLCertificateKeyFile /etc/pki/tls/private/ca.key

Lưu chúng lại ( Ctr+O ) và restart Apache:

/etc/init.d/httpd restart

Bây giờ bạn thêm chữ S đằng sau địa chỉ IP sẽ hiện ra một bảng thông báo không đáng tin của trình duyệt, các bạn hãy bấm chấp nhận và giờ thì trình duyệt đã hiển thị ra một bảng Apache mặc định rồi, đã thành công !

Cấu hình xong thì truy cập thử https sẽ ra trang mặc định

Cấu hình xong thì truy cập thử https sẽ ra trang mặc định

3. Chỉnh sửa Vhost

Mở trình FTP lên theo đường dẫn /etc/httpd/conf/ sau đó chỉnh file httpd.conf, chúng ta thử tham khảo lúc khai báo cổng 80 phổ thông như sau:

<VirtualHost *:80>
        <Directory /var/www/vhosts/yoursite.com/httpdocs>
        AllowOverride All
        </Directory>
        DocumentRoot /var/www/vhosts/yoursite.com/httpdocs
        ServerName yoursite.com
</VirtualHost>

Và nếu muốn set cổng SSL ở cổng 443 ta làm như sau:

NameVirtualHost *:443

Ngay sau đó ta thêm khai báo folder nào hoặc domain nào sẽ sử dụng SSL:

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/ca.crt
        SSLCertificateKeyFile /etc/pki/tls/private/ca.key
        <Directory /var/www/vhosts/yoursite.com/httpsdocs>
        AllowOverride All
        </Directory>
        DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs
        ServerName yoursite.com
</VirtualHost>

Lưu file đó lại, sau đó restart lại Apache:

/etc/init.d/httpd restart
Hoặc
service httpd restart

Tiếp theo, vì firewall của chúng ta đang chặn cổng này nên cần phải cho phép chúng kết nối thông qua cổng 443:

Gõ từng dòng lệnh như sau:

iptables -A INPUT -p tcp --dport 443 -j ACCEPT
/sbin/service iptables save
iptables -L -v

Vậy là xong, các bạn sẽ thấy một bảng thống kê các cổng cho phép trên terminal  !

Chúc các bạn thành công !

Cập nhật mới: Cài Let’s Encrypt cho CentOS 7 miễn phí, đơn giản, không bị trình duyệt chặn và cảnh báo !

Did you find apk for android? You can find new Free Android Games and apps.

Tôi là Jam, thâm niên 7 năm thiết kế website và làm seo, nếu các bạn thấy bài viết hay thì hãy chia sẻ cho những người khác cùng tham khảo, còn nếu muốn thiết kế website hoặc sửa web hay đặt một plugin có chức năng đặc biệt, hãy liên hệ ngay tới Jam ( thông tin ở chân trang )

Bài viết liên quan

2 nhận xét cho “Cài đặt https ( kết nối bảo mật ) cho website trên server hay VPS chạy CentOS”

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lưu ý: Không đăng thông tin cá nhân của bạn như email hay số điện thoại để không bị quấy rầy, tham khảo thêm quy định khi comment !