## Các khái niệm cơ bản: - **HTTP (Hypertext Transfer Protocol)**: là giao thức để truy cập internet. Thông thường, dữ liệu được truyền qua giao thức ***HTTP*** không được mã hóa. - **HTTPS (Hypertext Transfer Protocol Secure)**: là một phiên bản an toàn và bảo mật hơn của giao thức HTTP được sử dụng để truyền tải thông tin qua mạng Internet. Nó sử dụng giao thức SSL/TLS (Secure Sockets Layer/Transport Layer Security) để mã hóa dữ liệu và bảo vệ tính riêng tư và toàn vẹn của thông tin trong quá trình truyền tải. ![](https://hackmd.io/_uploads/S1o9AJJ_n.png) - **SSL (Secure Sockets Layer)**: là một giao thức bảo mật được sử dụng để bảo vệ việc truyền tải thông tin qua mạng. - **SSL Certificate**: là một tệp dữ liệu được sử dụng để bảo mật trang web. Nó xác thực tính hợp lệ của trang web và mã hóa dữ liệu khi truyền qua mạng. - Một ví dụ phổ biến nhất về hai hệ thống giao tiếp với nhau mà có sử dụng ***SSL*** là giao tiếp giữa trình duyệt và máy chủ web. - Nếu ta truy cập một trang web mà ta thấy giao thức của nó là ***HTTP***, thì giao tiếp giữa trình duyệt và máy chủ đang ***không được bảo mật***, dữ liệu đang được truyền đi theo dạng văn bản thô. Còn nếu ta truy cập một trang web mà thấy giao thức của nó là HTTPS, có nghĩa là nó đang có sử dụng ***SSL*** và dữ liệu truyền đi giữa trình duyệt và máy chủ đã được mã hóa. ![](https://hackmd.io/_uploads/H1wLIeyd3.png) - Cách thức hoạt động của giao thức ***HTTPS***: ![](https://hackmd.io/_uploads/ByCMKJ1O2.png) - **Origin Server (Máy chủ gốc)**: là một thuật ngữ để chỉ máy chủ chứa nguồn gốc của một trang web, ứng dụng hoặc tài nguyên trực tuyến. Khi một người dùng truy cập vào một trang web, yêu cầu truy cập đó được gửi đến ***Origin Server*** để lấy nội dung cần thiết và trả về cho người dùng. - **Domain (Tên miền)**: là một địa chỉ duy nhất trên Internet được sử dụng để xác định và truy cập đến các nguồn tài nguyên trực tuyến, chẳng hạn như trang web, dịch vụ email, máy chủ và nhiều hơn nữa. Nó là một phần quan trọng của hệ thống tên miền (Domain Name System - DNS) và được sử dụng để thay thế các địa chỉ IP phức tạp bằng các tên dễ nhớ và nhận dạng. - **Subdomain (Tên miền phụ)**: là phần mở rộng của một ***tên miền***. ***Subdomain*** có thể được tạo hoàn toàn miễn phí và nó có thể hoạt động như một tên miền thực thụ. - Ví dụ: subdomain.example.com - "subdomain" là subdomain và "example.com" là tên miền chính. - Subdomain thường được sử dụng để chỉ đến các phần khác nhau của một trang web hoặc để tạo ra các dịch vụ con riêng biệt. Ví dụ, một công ty có thể sử dụng subdomain như "blog.example.com" cho blog của họ, "store.example.com" cho cửa hàng trực tuyến và "mail.example.com" cho dịch vụ email. ![](https://hackmd.io/_uploads/BkNculyun.png) - **DNS (Domain Name System)**: là một hệ thống cơ sở dữ liệu phân tán và giao thức mạng được sử dụng để chuyển đổi các địa chỉ IP (Internet Protocol) thành tên miền và ngược lại. ![](https://hackmd.io/_uploads/HJRMKlJu3.png) - **IPv4 (Internet Protocol version 4)** là một giao thức phổ biến trong truyền thông dữ liệu. Nó được phát triển như một giao thức không hướng kết nối (connectionless). Dùng trong các mạng chuyển mạch gói (network packet switching) như Ethernet. Nó có nhiệm vụ cung cấp kết nối logic giữa các thiết bị mạng. Trong đó bao gồm cả việc cung cấp nhận dạng cho các thiết bị. - **Internet Protocol version 6 (IPv6)**: là phiên bản IP mới hơn, hay còn được gọi là Internet Protocol Next Generation (IPng) (Giao thức thế hệ tiếp theo).Hoạt động tương tự như là (IPv4), cung cấp các địa chỉ duy nhất cho tất cả các thiết bị được kết nối với internet. Tuy vậy, không giống như IPv4, IPv6 sử dụng địa chỉ 128 bit thay vì định dạng địa chỉ 32 bit. ![](https://hackmd.io/_uploads/ryQHYzgdn.png) - **Các loại bản ghi của DNS**: - **A record** (viết tắt của ***Address record***) là DNS record cơ bản và quan trọng nhất dùng để truy cập web. Nó giúp trỏ tên miền (domain) của website tới một địa chỉ IP cụ thể. **A record** được dùng để chuyển tên miền sang địa chỉ ***IPv4*** và có cú pháp như sau: - [Tên miền] IN A [địa chỉ IP của máy] - Ví dụ: ![](https://hackmd.io/_uploads/Bkax1meu2.png) - **AAAA record**: là một bản ghi DNS được sử dụng để ánh xạ địa chỉ IPv6 cho một tên miền. Nó cho phép kết nối mạng thông qua IPv6. Địa chỉ IPv6 là phiên bản tiếp theo của địa chỉ IP và sử dụng 128-bit. AAAA record tương tự như bản ghi A, nhưng ánh xạ địa chỉ IPv6 thay vì IPv4 cho tên miền. Mỗi AAAA record cho phép kết nối mạng thông qua địa chỉ IPv6 cụ thể. - Ví dụ: ![](https://hackmd.io/_uploads/S1vV0fld2.png) - **CNAME record**: được sử dụng trong DNS để ánh xạ một tên miền thay thế (alias) đến một tên miền chính (canonical name). Khi một truy vấn DNS được thực hiện cho tên miền có ***CNAME record***, nó sẽ điều hướng truy vấn đến tên miền chính được chỉ định trong ***bản ghi CNAME***. Điều này cho phép tạo liên kết giữa các tên miền và tiện lợi trong việc thay đổi hoặc chuyển hướng tên miền. - Ví dụ: ![](https://hackmd.io/_uploads/Sy-mLQgu3.png) - **MX record (Mail Exchanger record)**: là một bản ghi DNS dùng để chỉ định máy chủ email chịu trách nhiệm nhận và xử lý thư cho một tên miền. Nó xác định máy chủ email được sử dụng để gửi thư tới. - Ví dụ: ![](https://hackmd.io/_uploads/SJBLaXed3.png) ![](https://hackmd.io/_uploads/SJpPp7gu2.png) - Trong đó số 1 là giá trị ưu tiên. Các số này có thể là các số nguyên bất kì từ 1 đến 255, số càng nhỏ thì độ ưu tiên càng cao. - **TXT record**: là một loại DNS record giúp tổ chức các thông tin dạng text (văn bản) của tên miền. Một domain (tên miền) có thể có nhiều bản ghi TXT và chúng chủ yếu được dùng cho các Sender Policy Framework (SPF) codes, giúp email server xác định các thư được gửi đến có phải từ một nguồn đáng tin hay không. Ngoài ra, loại bản ghi DNS này còn dùng để xác thực máy chủ của một tên miền, xác minh SSL... - Ví dụ: ![](https://hackmd.io/_uploads/B1tUCQguh.png) - **NS record (Name Server record)**: là một loại DNS record giúp xác định thông tin của một tên miền cụ thể được khai báo và quản lý trên máy chủ nào. - [Tên miền] IN NS [tên máy chủ tên miền] ``` Ví dụ: example.com IN NS ns1.example.vn example.com IN NS ns2.example.vn ``` - **CAA record (Certification Authority Authorization record)**: là một bản ghi DNS được sử dụng để xác định quyền ủy quyền cho các nhà cung cấp chứng chỉ SSL/TLS phát hành chứng chỉ cho tên miền. Nó giúp chủ sở hữu tên miền kiểm soát và giới hạn các CA được phép cung cấp chứng chỉ cho tên miền của họ, đảm bảo an toàn và đáng tin cậy trong việc cấp chứng chỉ bảo mật. - **SRV record**: là bản ghi DNS tùy chỉnh. SRV được dùng để liên kết dịch vụ và tên máy chủ. Khi một ứng dụng cần tìm vị trí của một dịch vụ cụ thể, nó sẽ tìm kiếm một SRV record có liên quan. Nếu SRV record được tìm thấy, ứng dụng sẽ lọc qua danh sách các dịch vụ và tên máy chủ kết nối của SRV để tìm những thứ sau: - Hostname - Ports - Priority and Weight - IP Addresses (nếu có) ![](https://hackmd.io/_uploads/H1CjyBxOn.png) # FAQ ### - ### Khi thiết lập *DNS*, có một số lỗi thường gặp sau đây: - **Sai cấu hình DNS**: Lỗi này xảy ra khi bạn nhập sai thông tin cấu hình DNS, chẳng hạn như sai địa chỉ IP của máy chủ DNS hoặc sai cú pháp của các bản ghi DNS. - **Thời gian cập nhật DNS**: Khi bạn thay đổi cấu hình DNS, có thể mất thời gian để các thay đổi được lan truyền và cập nhật trên các máy chủ DNS trên toàn cầu. Do đó, các lỗi có thể xảy ra khi thay đổi không được hiển thị ngay lập tức. - **Lỗi trỏ DNS**: Khi cấu hình DNS không đúng, trang web hoặc ứng dụng có thể không được trỏ đúng địa chỉ IP của máy chủ mà bạn mong muốn. Điều này có thể dẫn đến việc không thể truy cập được trang web hoặc ứng dụng. - **Lỗi cache DNS**: Các máy tính và thiết bị mạng có thể lưu trữ thông tin DNS trong bộ nhớ cache để tăng tốc độ truy cập. Tuy nhiên, nếu thông tin trong cache không được cập nhật hoặc không đồng bộ với các thay đổi DNS, có thể xảy ra lỗi khi truy cập vào trang web hoặc ứng dụng. - **Lỗi tương tác giữa tên miền và DNS**: Khi bạn cài đặt DNS cho tên miền, có thể xảy ra lỗi trong quá trình tương tác giữa tên miền và máy chủ DNS. Điều này có thể là do các vấn đề về cấu hình, quyền truy cập, hoặc các vấn đề kỹ thuật khác. - **Để tránh các lỗi khi setup DNS**, hãy kiểm tra và xác nhận thông tin cấu hình DNS chính xác, đảm bảo thời gian cập nhật DNS đủ cho các thay đổi được lan truyền, kiểm tra lại các bản ghi DNS và làm sạch cache DNS trên các thiết bị. Nếu gặp phải vấn đề, hãy liên hệ với nhà cung cấp dịch vụ DNS để được hỗ trợ. - ### Khi cấu hình *SSL* trên *Polaris*, có một số lỗi phổ biến có thể xảy ra: - **Lỗi không khớp chứng chỉ SSL**: Chứng chỉ SSL không khớp với tên miền trên Polaris. - **Lỗi không thiết lập chuyển hướng HTTPS**: Chưa thiết lập chuyển hướng từ HTTP sang HTTPS sau khi cấu hình SSL trên Polaris. Điều này hay xảy ra khi khách hàng chọn giữa 2 options là "Full" và "Flexible". - **Lỗi không cài đặt chính xác chứng chỉ SSL**: Cài đặt chứng chỉ SSL không đúng hoặc thiếu thông tin trên Polaris. - **Lỗi không hỗ trợ TLS**: Phiên bản Polaris không hỗ trợ giao thức TLS hoặc cấu hình không đúng. - **Để khắc phục các lỗi liên quan đến cấu hình SSL** trên **Polaris**, bạn nên kiểm tra và đảm bảo rằng chứng chỉ SSL được cài đặt đúng và khớp với tên miền, thiết lập chuyển hướng từ HTTP sang HTTPS, và đảm bảo rằng Polaris hỗ trợ phiên bản TLS được sử dụng. Nếu vấn đề vẫn tiếp tục, hãy liên hệ với hỗ trợ của Polaris để được hỗ trợ chi tiết và giải quyết lỗi.