Bước 1: Cấu hình bản ghi trên Google Domains
- Truy cập Google Domains, chọn domain cần cấu hình, hoặc mua domain mới nếu chưa có.
- Tại thanh menu bên phải, chọn vào mục DNS
- Tìm đến mục Bản ghi tùy chỉnh, tạo bản ghi loại A như sau:
- Tên máy chủ lưu trữ: Để trống
- Loại: A
- Dữ liệu: Địa chỉ IP máy chủ của bạn
Ví dụ:
Tương tự với subdomain: - Tên máy chủ lưu trữ: Subdomain bạn muốn đặt
- Loại: A
- Dữ liệu: Địa chỉ IP máy chủ của bạn
Ví dụ:
Như vậy, ta đã trỏ được domain về máy chủ.
Bước 2: Thiết lập HTTPS
Để thiết lập HTTPS trên trang web của mình, bạn cần yêu cầu chứng chỉ SSL/TSL từ một nhà phát hành chứng chỉ. Google Domains đã có một bài viết hướng dẫn cách làm điều này. Bạn có thể tham khảo qua, hoặc tiếp tục đọc bài viết của tôi. Tôi sẽ tóm tắt lại cách làm như sau:
- Truy cập vào Google Domains
- Chọn miền mà bạn muốn lấy chứng chỉ.
- Ở trên cùng bên trái, hãy nhấn vào biểu tượng Trình đơn
Bảo mật.
- Trong mục "Chứng chỉ SSL/TLS cho miền của bạn", hãy mở rộng "Google Trust Services".
- Nhấp vào Lấy khoá EAB.
- Một hộp thoại sẽ mở ra cùng 2 giá trị, "Giá trị nhận dạng khoá EAB" và "Khoá HMAC EAB".
- Sao chép cả hai giá trị này bằng cách nhấn vào nút Sao chép bên cạnh mỗi giá trị.
- Tại máy chủ CentOS (tôi dùng CentOS 7), cấu hình cho ứng dụng ACME Certbot như sau:
- Cài đặt certbot (nếu chưa có)
sudo yum install certbot-nginx
- Đăng ký tài khoản certbot (nếu chưa có) với EAB_KEY_ID và EAB_HMAC_KEY lấy được ở bước 5
certbot register --email <CONTACT_EMAIL> --no-eff-email --server "https://dv.acme-v02.api.pki.goog/directory" --eab-kid "<EAB_KEY_ID>" --eab-hmac-key "<EAB_HMAC_KEY>"
- Dừng chạy Nginx
sudo service nginx stop
- Cấp chứng chỉ bằng cách chạy:
certbot certonly -d <YOUR_DOMAIN> --server "https://dv.acme-v02.api.pki.goog/directory" --standalone
Thay <YOUR_DOMAIN> thành domain hoặc subdomain của bạn. Ví dụ:certbot certonly -d domain.com --server "https://dv.acme-v02.api.pki.goog/directory" --standalone
certbot certonly -d example.domain.com --server "https://dv.acme-v02.api.pki.goog/directory" --standalone
Bạn sẽ nhận được 2 file fullchain.pem và privatekey.pem. Hãy lưu lại đường dẫn đến 2 file này
Bước 3: Cấu hình Nginx
- Tạo file cấu hình nginx mới:
sudo nano /etc/nginx/conf.d/yourdomain.conf
- Cấu hình file trên và lưu lại (nhớ thay example.domain.com thành domain/subdomain của bạn) như sau:
server { listen 80; listen [::]:80; server_name example.domain.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name example.domain.com;
root /webroot/pages/example; # Thay thành đường dẫn đến thư mục chứa trang web trên máy chủ của bạn index index.php index.htm index.html; charset utf-8; ssl_certificate "/etc/letsencrypt/live/example.domain.com/fullchain.pem"; ssl_certificate_key "/etc/letsencrypt/live/example.domain.com/privkey.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ /\.(?!well-known).* { deny all; } } - Khởi động lại nginx:
sudo service nginx restart
Vậy là xong rồi đó. Chúc các bạn thành công!