Cài đặt HTTPS (SSL) cho website miễn phí dễ hiểu – vi-magento.com

Nếu bạn là dân công nghệ, chắc hẳn đã biết SSL là gì rồi phải không nào. SSL (Secure Socket Layer) là giao thức có tác dụng để tăng tính bảo mật trong việc truyền dữ liệu giữa client và server. SSL được dùng nhiều cho các trang web có giao dịch trực tuyến sử dụng các loại thẻ thanh toán để tránh các rủi ro như bị lấy mất thông tin trong quá trình thanh toán. Sử dụng SSL còn giúp trang web của bạn thân thiện với bộ máy tìm kiếm google từ đó giúp cải thiện thứ tự xếp hạng website của bạn. Hiện nay, nhiều tính năng yêu cầu trang web của bạn phải có SSL, hoặc có tính năng sẽ không hoạt động nếu website của bạn không có SSL. Vì vậy việc cài đặt SSL cho môi trường làm việc của developer là cần thiết. Trong bài viết này, tôi sẽ hướng dẫn cài đặt https trên webserver một cách đơn giản, dễ hiểu nhất.

1. Tự động tạo certificate với mkcert

Đã có tài liệu cài đặt đầy đủ trên github, các bạn có thể vào đây để tham khảo thêm nhé .

  • Với Ubuntu/Debian:

1

2

3

4

5

sudo

apt

install

libnss3

tools

sudo

apt

install

linuxbrew

wrapper

//Chạy câu lệnh này để cài đặt linux brew nếu bạn chưa cài đặt nó.

brew

install

mkcert

Hoặc :

1

2

3

4

5

6

7

sudo

apt

install

wget

libnss3

tools

export

VER

=

“v1.3.0”

sudo

wget

O

mkcert

https

:

//github.com/FiloSottile/mkcert/releases/download/${VER}/mkcert-${VER}-linux-amd64

chmod

+

x

  

mkcert

sudo

mv

mkcert

/

usr

/

local

/

bin

  • Với Window

1

2

3

4

5

6

choco

install

mkcert

// hoặc sử dụng :

scoop

bucket

add

extras

scoop

install

mkcert

  • Với MacOS

1

2

3

4

brew

install

mkcert

brew

install

nss

# if you use Firefox

hoặc MacPorts.

1

2

3

4

5

6

sudo

port

selfupdate

sudo

port

install

mkcert

sudo

port

install

nss

# if you use Firefox

2. Tạo certificate với 1 câu lệnh duy nhất

Sau khi đã cài đặt thành công mkcert, bạn cần chạy câu lệnh bên dưới để tạo certificate.

  • Câu lệnh này sẽ tạo một certificate được lưu ở thư mục mà bạn cài đặt mkcert thường sẽ được đặt tại “/Users/filippo/Library/Application Support/mkcert”. Certificate này sẽ được cài đặt cho cả browser của bạn (cần khởi động lại browser để có hiệu lực).

1

2

3

mkcert

install

  • Tạo certificate cho một hoặc nhiều tên miền mà bạn muốn. Câu lệnh bên dưới sẽ tạo certificate cho các tên miền sau: *.example.com” example.test localhost 127.0.0.1 ::1

1

2

3

mkcert

example

.

com

“*.example.com”

example

.

test

localhost

127.0.0.1

::

1

Sau khi certificate được tạo, bạn sẽ nhận được hai file rootCA.pem và rootCA-key.pem. Chúng ta sẽ sử dụng 2 file này để cài đặt https cho webserver.

3. Cài đặt https trên Apache

Sau khi đã có được certificate bước này chúng ta sẽ tiến hành cài đặt https cho website bằng cách vào file VirtualHost của bạn theo đường dẫn /etc/apache2/sites-enabled/domain.conf và thêm vào như bên dưới :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<

VirtualHost

127.0.0.1

:

443

>

    

ServerAdmin

admin

@

example

.

com

    

DocumentRoot

/

var

/

www

/

html

/

magento2

/

    

ServerName

magento2

.

sh

    

SSLEngine

on

    

SSLCertificateFile

“/home/chien/.local/share/mkcert/example.sh+5.pem”

    

SSLCertificateKeyFile

“/home/chien/.local/share/mkcert/example.sh+5-key.pem”

    

<

Directory

/

var

/

www

/

html

/

magento2

/

>

        

Options

Indexes

FollowSymLinks

MultiViews

        

AllowOverride

All

        

Order

allow

,

deny

        

allow

from

all

    

<

/

Directory

>

    

ErrorLog

$

{

APACHE_LOG_DIR

}

/

error

.

log

    

CustomLog

$

{

APACHE_LOG_DIR

}

/

access

.

log

combined

<

/

VirtualHost

>

Để biết đường dẫn của file certificate chạy câu lệnh sau :

1

2

3

mkcert

CAROOT

Cho phép Apache sử dụng SSL bằng cách loading SSL module:

1

2

3

4

sudo

a2enmod

ssl

sudo

a2ensite

default

ssl

.

conf

Reload và restart apache2 để sử dụng config vừa thay đổi :

1

2

3

4

sudo

systemctl

reload

apache2

sudo

systemctl

restart

apache

4. Cài đặt https trên nginx

Cũng tương tự như với apache bạn cũng thêm một đoạn cấu hình vào file VirtualHost như sau:

1

2

3

sudo

nano

/

etc

/

nginx

/

sites

enabled

/

domain

.

conf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

upstream

fastcgi_backend

{

  

server  

unix

:

/

run

/

php

/

php7

.

3

fpm

.

sock

;

}

server

{

        

server_name

magento2

.

sh

;

        

listen

443

;

        

ssl

on

;

        

ssl_certificate

/

home

/

chien

/

.

local

/

share

/

mkcert

/

example

.

sh

+

5.pem

;

        

ssl_certificate_key

/

home

/

chien

/

.

local

/

share

/

mkcert

/

example

.

sh

+

5

key

.

pem

;

        

set

$

MAGE_ROOT

/

var

/

www

/

html

/

magento2

;

        

set

$

MAGE_MODE

developer

;

        

# or production access_log /var/log/nginx/myMagentoSite.com-access.log;

        

error_log

/

var

/

log

/

nginx

/

magento2

.

sh

error

.

log

;

        

include

/

var

/

www

/

html

/

magento2

/

nginx

.

conf

.

sample

;

}

Sau đó restart nginx của của bạn và truy cập vào địa chỉ https://magento2.sh

1

2

3

sudo

systemctl

restart

nginx

5. Kết luận

Vừa rồi tôi vừa hướng dẫn các bạn cài đặt https cho webserver cụ thể là Nginx và Apache2. Hi vọng bài viết có thể giúp ích phần nào cho các bạn.