Nó giúp phần mềm có thể điều khiển một cách trơn tru, nhịp nhàng cho một hệ thống máy tính hoạt động trên internet, thông qua các cổng giao tiếp riêng biệt của mỗi máy chủ.. 2.3 Mô hình
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC UEH – TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH
Đồ án kết thúc môn học Dịch vụ mạng Internet
Đề tài:
Nghiên cứu về Web Server
Giảng viên hướng dẫn: ThS Trần Lê Phúc Thịnh
Mã học phần: 21C1INF50902502
Thành phố Hồ Chí Minh, ngày 14 tháng 12 năm 2021
Trang 2Danh sách thành viên nhóm 6
Trang 3Mục lục
Tóm tắt nội dung tiểu luận 1
Lý do chọn đề tài 1
Tính ứng dụng đề tài 1
Bố cục 2
CHƯƠNG 1: TÌM HIỂU VỀ WEB SERVER 3
1 Khái niệm Web Server 3
2 Các giao thức sử dụng trên Web Server 3
2.1 Định nghĩa 3
2.2 Giao thức HTTP 4
2.3 Mô hình hoạt động của giao thức FTP 6
3 Chức năng của Web Server 7
4 Sự khác nhau giữa Web Server, Web Browser 10
CHƯƠNG 2: PHẦN QUAN TRỌNG CẤU THÀNH WEB SERVER 11
1 Phần cứng 11
1.1 Khái niệm phần cứng 11
1.2 Nguyên lý hoạt động 11
1.3 Cấu tạo 12
2 Phần mềm 14
2.1 Khái niệm phần mềm 14
2.2 Các phần mềm Web Server phổ biến hiện nay 14
Chương 3: CÀI ĐẶT VÀ CẤU HÌNH WEB SERVER 25
A Cài đặt web server (Internet Information Service - IIS 6.0 25
B CẤU HÌNH DEFAULT WEB SITE: 33
Trang 4C TẠO MỚI WEBSITE 43
CHƯƠNG 4: WEB SERVER HOẠT ĐỘNG NHƯ THẾ NÀO? 50
1 Quy trình hoạt động của web server 50
1.1 Lưu giữ các file (Hosting files) 50
1.2 Giao tiếp thông qua HTTP 50
1.3 Nội dung static hay dynamic 51
2 Nguyên lý hoạt động của Web server 51
CHƯƠNG 5: AN TOÀN BẢO MẬT WEB SERVER 53
1 Các lưu ý để bảo mật Web Server 53
2 Các bước bảo mật Web server 54
2.1 Đặt Password phức tạp 54
2.2 Bảo mật ứng dụng Web 55
2.3 Bảo mâ ̣t máy chủ 55
CHƯƠNG 6: KẾT LUẬN 57
LỜI CẢM ƠN 59
TÀI LIỆU THAM KHẢO 60
Trang 5Tóm tắt nội dung tiểu luận
Đầu tiên, bài tiểu luận sẽ tìm hiểu khái quát về web server, từ chức năng, cấu hình, các
thành phần cấu thành nó, các giao thức cấu thành nó để nêu lên những điểm khác biệt của
web server so với web browser và web client Tiếp theo đi sâu tìm hiểu các nguyên lý
hoạt động cũng như cấu tạo của phần cứng và phần mềm để hiểu rõ phần quan trọng cấu
tạo nên web server, chỉ ra cách thiết lập web server, xem xét cách thức mà nó hoạt động
Và cuối cùng là bình luận về an toàn bảo mật web server hiện nay
Lý do chọn đề tài
Internet đang ngày càng phát triển mạnh mẽ, các ứng dụng triển khai trên nền tảng web vì
thế được phát triển rộng rãi và phong phú Trong nền kinh tế thị trường hiện nay, chuyển
đổi dữ liệu, thông tin đang là một nhu cầu thiết yếu cho sự phát triển và tồn tại của các
doanh nghiệp Web server được coi là một công nghệ mang đến cuộc cách mạng trong
cách thức hoạt động của các dịch vụ B2B và B2C
Tính ứng dụng đề tài
Giá trị cơ bản của web server dựa trên việc cung cấp các phương thức theo chuẩn trong
việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa Việc nghiên cứu về web
server sẽ mở ra một hướng mới cho việc phát triển các ứng dụng trên Internet giải quyết
vấn đề chuyển đổi dữ liệu trong quy trình thương mại của các doanh nghiệp Nghiên cứu
sẽ chỉ ra được web server hữu ích vì chúng cho phép dễ dàng thực hiện những công việc
như truyền tệp từ máy tính sang máy tính Chúng hữu ích cho việc giao tiếp từ khắp nơi
trên thế giới Nếu chúng tôi không có web server thì chúng tôi không thể gửi tệp từ Úc
đến Anh Chúng hữu ích cho việc lưu trữ, xử lý và cung cấp các trang web cho khách
hàng Điều này liên quan đến thương mại điện tử vì các web server đang phân phối các
Trang 6trang web có địa chỉ IP hoặc tên miền, do đó, mọi người sẽ dễ dàng tìm thấy trang thương
mại điện tử của bạn hơn
Bố cục
Bài tiểu luận gồm có ba phần chính: phần mở đầu, phần nội dung và phần kết luận Phần
mở đầu nêu lên lý do và tính ứng dụng của đề tài Phần nội dung gồm có 5 chương:
Chương 1: Tìm hiểu về web server
Chương 2: Phần quan trọng cấu thành web server
Chương 3: Cách để thiết lập web server
Chương 4: Web server hoạt động như thế nào
Chương 5: Vấn đề an toàn bảo mật web server
Chương 6: Kết luận
Trang 7CHƯƠNG 1: TÌM HIỂU VỀ WEB SERVER
1 Khái niệm Web Server
Web server hay còn gọi là máy chủ web, là máy tính lớn được kết nối với tập hợp
mạng máy tính mở rộng Web server được cài đặt các chương trình để phục vụ ứng dụng
web, chứa toàn bộ dữ liệu và nắm quyền quản lý
Mỗi web server đều có một địa chỉ IP hoặc cũng có thể có một domain name
Phần cứng của web server được kết nối với internet, cho phép trao đổi dữ liệu với
các thiết bị khác có liên quan đến nó Phần mềm giúp kiểm soát cách người dùng đánh
giá các tệp đã được lưu trữ
Web server phải là một máy tính có dung lượng lớn, tốc độ rất cao để có thể lưu
trữ vận hành tốt một kho dữ liệu trên internet Nó giúp phần mềm có thể điều khiển một
cách trơn tru, nhịp nhàng cho một hệ thống máy tính hoạt động trên internet, thông qua
các cổng giao tiếp riêng biệt của mỗi máy chủ Các web server này phải đảm bảo hoạt
động liên tục không ngừng nghỉ để duy trì cung cấp dữ liệu cho mạng lưới máy tính của
mình
2 Các giao thức sử dụng trên Web Server
2.1 Định nghĩa
Đơn giản mà nói thì giao thức mạng như một bộ quy tắc và chúng phải tuân theo
những quy tắc bắt buộc đó Nó giống như những tiêu chuẩn và chính sách chính thức và
gộp lại, tạo nên những quy tắc đó Các giao thức mạng này nhằm thực hiện những hành
động, chính sách và giải quyết vấn đề từ đầu đến cuối giúp quá trình giao tiếp mạng hoặc
dữ liệu diễn ra kịp thời
Trang 8Giao thức mạng phổ biến bao gồm trong đó có sự liên kết giữa máy tính, router,
máy chủ và các thiết bị hỗ trợ mạng khác khi chúng muốn giao tiếp với nhau Để đảm
bảo quá trình giao tiếp dữ liệu/mạng diễn ra suôn sẻ thì các giao thức mạng luôn phải
được xác nhận và cài đặt bởi người gửi và người nhận
2.2 Giao thức HTTP
Tiêu chuẩn Hypertext Transfer Protocol (HTTP) – Giao thức truyền siêu văn bản
được ứng dụng để truyền tải tài liệu và các tệp siêu văn bản giữa máy chủ Web (Web
server)và máy khách Web (Web client) thông qua một trình duyệt Web Cụ thể hơn,
HTTP là một giao thức ở tầng ứng dụng trong các hệ thống thông tin phân tán, cộng tác,
siêu phương tiện (hypermedia), cho phép một máy khách gửi yêu cầu đơn giản dạng tệp
siêu văn bản đến máy chủ và nhận đáp ứng từ máy chủ
Sơ đồ hoạt động của HTTP
HTTP hoạt động dựa trên mô hình Client – Server
Trong mô hình client – server, các máy tính của người dùng sẽ đóng vai trò làm
máy khách (Client) Sau một thao tác nào đó của người dùng, các máy khách sẽ
gửi yêu cầu đến máy chủ (Server) và chờ đợi câu trả lời từ những máy chủ này
HTTP là một stateless protocol Hay nói cách khác, request hiện tại không biết
những gì đã hoàn thành trong request trước đó
HTTP cho phép tạo các yêu cầu gửi và nhận các kiểu dữ liệu, do đó cho phép xây
dựng hệ thống độc lập với dữ liệu được chuyển giao
Trang 9 Giao thức FTP
Giao thức FTP là gì?
FTP - File Transfer Protocol (Giao thức truyền tải tập tin) được dùng trong việc
trao đổi dữ liệu trong mạng thông qua giao thức TCP/IP, thường hoạt động trên 2
cổng là 20 và 21 Với giao thức này, các máy client trong mạng có thể truy cập đến
máy chủ FTP để gửi hoặc lấy dữ liệu Điểm nổi bật là người dùng có thể truy cập
vào máy chủ FTP để truyền và nhận dữ liệu dù đang ở xa
Trang 102.3 Mô hình hoạt động của giao thức FTP
Giao thức FTP hoạt động dựa trên mô hình cơ bản của việc truyền và nhận dữ liệu
từ máy Client đến máy Server Quá trình truyền nhận dữ liệu giữa máy Client và Server
lại được tạo nên từ tiến trình của TCP logic là Control Connection và Data Connection
Control Connection: Đây là phiên làm việc TCP logic đầu tiên được tạo ra khi quá
trình truyền dữ liệu bắt đầu Tuy nhiên, tiến trình này chỉ kiểm soát các thông tin
điều khiển đi qua nó, ví dụ như các tập lệnh Quá trình này sẽ được duy trì trong
suốt quá trình phiên làm việc diễn ra
Data Connection: Khác với tiến trình Control Connection, Data Connection là một
kết nối dữ liệu TCP được tạo ra với mục đích chuyên biệt là truyền tải dữ liệu giữa
máy Client và máy Server Kết nối sẽ tự động ngắt khi quá trình truyền tải dữ liệu
hoàn tất
Các phương thức truyền dữ liệu trong giao thức FTP
Khi quá trình truyền dữ liệu được thiết lập, dữ liệu sẽ được truyền từ máy Client
đến máy Server hoặc có thể ngược lại Dựa trên việc truyền dữ liệu này, FTP có 3 phương
thức truyền tải dữ liệu là stream mode, block mode, và compressed mode
Trang 11Stream mode: Phương thức này hoạt động dựa vào tính tin cậy trong việc truyền
dữ liệu trên giao thức TCP Dữ liê ̣u sẽ được truyền đi dưới dạng các byte có cấu trúc
không liên tiếp Thiết bị gửi chỉ đơn thuần đẩy luồng dữ liê ̣u qua kết nối TCP tới phía
nhâ ̣n mà không có mô ̣t trường tiêu đề nhất định
Block mode: Là phương thức truyền dữ liê ̣u mang tính quy chuẩn hơn Với
phương thức này, dữ liê ̣u được chia thành nhiều khối nhỏ và được đóng gói thành các
FTP blocks Mỗi block sẽ chứa thông tin về khối dữ liê ̣u đang được gửi
Compressed mode: Phương thức truyền sử dụng kỹ thuâ ̣t nén dữ liệu khá đơn
giản là “run-length encoding” Với thuật toán này, các đoạn dữ liệu bị lặp sẽ được phát
hiện và loại bỏ để giảm chiều dài của toàn bộ thông điệp khi gửi đi
3 Chức năng của Web Server
Trang 12Mục đích chính của các máy chủ web là lưu trữ các tệp tin của website và phát
chúng qua internet để khách truy cập web có thể xem và hiểu được Khi ai đó truy cập
trang trên web của bạn, trình duyệt của họ sẽ giao tiếp với web server của bạn, gửi và
nhận các thông tin mà chúng được ra lệnh để xuất hiện trên màn hình máy tính của khách
truy cập
Một số chức năng có thể kể đến của web server :
1 Đầu tiên, một web server phải lưu trữ các file của website, đó là các tài liệu
HTML và các tài nguyên liên quan đến nó, bao gồm các ảnh, file CSS, file JavaScript,
fonts và videos
2 Web server có thể xử lý được dữ liệu, cung cấp thông tin đến máy khách thông
qua các máy tính cá nhân trên môi trường Internet qua giao thức HTTP, giao thức được
thiết kế để gửi các file đến trình duyệt Web, và các giao thức khác nữa
Trên một web server, HTTP server chịu trách nhiệm xử lý và trả lời các request
đến Khi nhận một request, một HTTP server sẽ kiểm tra xem URL được yêu cầu có khớp
với một file hiện có không Nếu có, web server gửi nội dung file trả lại trình duyệt Nếu
không, một application server sẽ tạo ra file cần thiết Nếu không thể xử lý, web server trả
lại một thông điệp lỗi cho trình duyệt, phổ biến nhất là "404 Not Found"
Trang 133 Phần mềm Web Server còn có thể cài đặt, chạy trên bất kì máy tính nào đáp ứng
đủ và đúng yêu cầu về bộ nhớ hay giúp người sử dụng có thể truy cập đến các thông tin
của trang Web từ một máy tính khác ở trên mạng một cách dễ dàng
4 Web server có khả năng vận hành trơn tru một hệ thống máy tính hoạt động,
đảm bảo các hoạt động này liên tục để duy trì cung cấp dữ liệu cho mạng lưới máy tính
của mình một cách dễ dàng
5 Ngoài ra, công cụ còn có thể tạo ra một hoặc nhiều website: Thiết lập các
website trên web-server để website đó có thể được hiển thị và xem qua http
6 Cấu hình bảo mật website, thư mục: tài khoản người dùng nào được, không
được phép mở website, địa chỉ IP nào được/không được phép mở website…
7 Tạo một trang FTP: trong FTP sẽ cho phép người dùng chuyển các tập tin đến
và đi từ website
8 Tạo các thư mục ảo và gắn chúng vào các thư mục vật lý
9 Cấu hình, chỉ định các trang lỗi tùy chỉnh: Cho phép việc xây dựng và hiển thị
-thông báo lỗi thân thiện với người dùng trên website
10 Chỉ định các tài liệu mặc định: Tài liệu mặc định là những tài liệu được hiển
thị khi không có tên tệp nào được chỉ định
Trang 144 Sự khác nhau giữa Web Server, Web Browser
1 Mục đích Web server là một phần mềm
cung cấp các tài liệu này khi WebBrowser yêu cầu
Web Browser là một phần mềmđược sử dụng để duyệt và hiểnthị các trang có sẵn trên internet
động
Web Server xem và phê duyệt cácyêu cầu đó do trình duyệt webđưa ra và gửi tài liệu để phản hồi
Web Browser gửi yêu cầu tớimáy chủ đối với các tài liệu vàdịch vụ dựa trên web
4 Mô hình
xử lý
Web Server tuân theo ba mô hình
xử lý chính: dựa trên quy trình,dựa trên luồng hoặc kết hợp
Web Browser không có mô hình
xử lý
5 Lưu trữ
dữ liệu
Web Server cung cấp một khu vực
để lưu trữ trang web
Web Browser lưu trữ dữ liệungười dùng trong cookie trongmáy cục bộ
6 Cài đặt Web Server có thể được cài đặt ở
bất kỳ đâu nhưng nó cần phải ởtrên mạng hoặc trên máy tính cụcbộ
Web Browser được cài đặt trênmáy của người dùng
Trang 15CHƯƠNG 2: PHẦN QUAN TRỌNG CẤU THÀNH WEB SERVER
1 Phần cứng
1.1 Khái niệm phần cứng
Phần cứng máy chủ (tên tiếng Anh: Hardware of Server) là phần cứng của thiết bị,
các thành phần để tạo nên một thiết bị hoàn chỉnh Với PC, các thiết bị như: chuột, bàn
phím, màn hình, ổ đĩa cứng, ổ DVD… chính là các thiết bị phần cứng Hiểu đơn giản,
phần cứng là những phần mà bạn có thể nhìn thấy được
Máy chủ chính là một hệ thống phức hợp có nhiệm vụ lưu trữ tập trung các nguồn
dữ liệu, xử lý truy xuất thông tin đến từ các máy tính khác qua đường truyền Internet
Những thiết bị về phần cứng máy chủ để thiết lập hoàn chỉnh cũng tương tự như máy tính
để bàn (hay còn gọi là PC) Tuy nhiên, độ tin cậy và hiệu năng của máy chủ cao hơn rất
nhiều so với máy tính thông thường
Tùy thuộc vào nhu cầu của người dùng, ứng dụng của máy chủ sẽ có các yêu cầu
phần cứng cho máy chủ đó cũng khác nhau Nhiệm vụ của máy chủ là cung cấp dịch vụ
cho nhiều người dùng trên một mạng lưới dẫn đến yêu cầu tất yếu cũng sẽ khác nhau
1.2 Nguyên lý hoạt động
Các máy chủ thường làm kiểm tra bộ nhớ trước khi khởi động và khởi động các dịch vụ
quản lý từ xa Các bộ điều khiển ổ đĩa cứng sau đó khởi động các ổ đĩa liên tục, chứ
không phải tất cả cùng một lúc Mục đích là để không làm quá tải nguồn điện với sự khởi
động tăng dần Sau đó, chúng bắt đầu chạy tới hệ thống RAID (là chữ viết tắt của
Redundant Array of Independent Disks, cho phép không chỉ đảm bảo an toàn dữ liệu mà
còn giúp gia tăng đáng kể tốc độ truy xuất dữ liệu từ đĩa cứng) yêu cầu kiểm tra đối với
hoạt động chính xác của thiết bị dự phòng
Trang 16Quá trình này có thể mất nhiều thời gian so với máy tính chỉ mất vài phút để khởi động.
Đôi khi, nó có thể không cần phải khởi động lại trong nhiều tháng hoặc nhiều năm Nhiều
cấu hình phần cứng máy chủ mất khá nhiều thời gian cho khởi động và nạp hệ điều hành
1.3 Cấu tạo
Về cơ bản, một máy chủ vật lý có cấu tạo hệ thống máy chủ như một máy tính PC
thông thường Tuy nhiên, các thành phần cấu tạo của phần cứng máy chủ và PC vẫn tồn
tại một số sự khác biệt nhất định
Bo mạch máy chủ
Các chipset của main máy chủ luôn khác biệt hoàn toàn so với PC bởi khả năng hỗ
trợ ảo hóa cực kỳ mạnh mẽ Đây phải là các loại chip chuyên dụng cho máy chủ với các
khả năng ảo hóa chuyên biệt nhất là với các loại máy chủ chính để tạo ra các máy chủ ảo
Thông thường, các bo mạch chủ của PC đa số chạy trên các dòng chipset cũ như Intel
845, 865 hay các dòng mới Intel 945, 975,…Các Board mạch chủ của phần cứng máy
chủ thường sử dụng các chipset chuyên dụng như Intel E7520, Intel 3000, Intel 5000X,…
Các chipset này nổi bật với khả năng hỗ trợ các giao tiếp tốc độ cao như RAM ECC,
HDD SCSI – SAS, Raid hay hỗ trợ gắn nhiều CPU dòng Xeon,…
Bộ vi xử lý (CPU)
CPU dành cho máy chủ là một loại CPU mạnh mẽ với khả năng điều phối xứ lý
cực tốt với rất nhiều nhân và luồng xử lý Đồng thời, CPU cũng phải có khả năng hỗ trợ
ưu việt chuyên dành cho chức năng máy chủ Không dùng các Socket dạng 478, 775 với
các dòng Pentium 4, Pentium D, Dual core, Quadcore như PC, máy chủ dùng CPU riêng
biệt đa số là dòng Xeon
Hoạt động trên các socket 771, 603, 604 với dung lượng cache L2 cao, khả năng
ảo hóa cứng, các tập lệnh chuyên dùng khác…, dòng Xeon sở hữu kiến trúc khác biệt
hoàn toàn Một số máy chủ dòng cấp thấp vẫn dùng CPU Socket 775 làm vi xử lý chính
của chúng
Trang 17Bộ nhớ (RAM)
Trên thị trường, bạn có thể tìm thấy DDR RAM I, II có Bus 400, 800,… Thật ra,
RAM dành cho máy chủ cũng tương tự nhưng có thêm tính năng ECC
EEC (Error Correction Code) là loại RAM có khả năng điều khiển được dòng dữ
liệu truy xuất trong nó giúp tự động sửa lỗi
Khi xảy ra xung đột, RAM ECC chỉ cần yêu cầu gửi lại đúng gói tin bị crash Bạn
sẽ giảm rủi ro và chi phí vận hành vì RAM ECC có độ ổn định rất cao EEC giúp máy
bạn không bị treo, dump màn hình xanh khi có bất kỳ 1 bit nào bị lỗi trong quá trình xử
lý dữ liệu Hơn nữa, các RAM loại này còn có khả năng tháo lắp nóng để thay thế khi bị
hư hỏng mà không cần phải tắt hệ thống Tuy nhiên, bo mạch chủ phải hỗ trợ chuẩn
RAM mới này thì mới có thể sử dụng RAM này được
Ổ cứng (HDD)
Để đảm bảo khả năng lưu trữ khối lượng dữ liệu cực cao, ổ cứng và tốc độ của ổ
cứng luôn là vấn đề được quan tâm hàng đầu Khả năng lưu trữ, tốc độ quay của ổ cứng
chuyên dụng cho máy chủ luôn cao hơn rất nhiều so với các loại ổ cứng của PC Nếu các
HDD của máy PC thường có giao tiếp IDE, SATA I, SATA II, các HDD dành cho máy
chủ hoạt động trên giao tiếp SCSI hay SAS (Serial Attached SCSI) Giao tiếp này có
băng thông cao hơn (600MB/s) và sở hữu một tốc độ vòng quay cao hơn gần 30%
(10.000RPM) Đặc biệt, một số ổ SAS mới còn đạt được con số 15.000 RPM giúp tăng
tốc tối đa tốc độ đọc/ghi dữ liệu
Bộ điều khiển Raid (Raid controller)
Đây là thành phần quan trọng phần cứng máy chủ trong một Server hiện đại Bộ
điều khiển này sẽ kết hợp các ổ cứng thành một thể thống nhất với những cơ chế sao lưu
Khi có các trục trặc vật lý xảy ra, những cơ chế sao lưu này sẽ chống lỗi giúp dữ liệu của
bạn luôn được an toàn Tùy theo các bo mạch, khả năng hỗ trợ các mức Raid khác nhau
Hai mức phổ biến trong hầu hết các máy chủ là Raid 1 và Raid 5 Tuy nhiên, có thể bạn
không cần trang bị thêm vì một số bo mạch máy chủ đã tích hợp chip điều khiển này
Trang 18Bộ cung cấp nguồn (PSU)
Thành phần cung cấp năng lượng cho các thiết bị bên trong giữ vai trò quan trọng trong
quá trình hoạt động của máy chủ Vì vậy, các dòng máy chủ chuyên dùng thường đi theo
những bộ nguồn công suất thực cao có khả năng thay thế hay dự phòng khi bộ nguồn
chính bị lỗi Tùy vào tính chất, nhu cầu sử dụng mà bạn nên chọn một phương thức thích
hợp với mình
2 Phần mềm
2.1 Khái niệm phần mềm
Để một ứng dụng Web có thể hoạt động trên mạng thì chúng ta cần phải cần tải và
cài đặt mã nguồn ứng dụng này lên 1 web server Web server (hay còn gọi là máy chủ
Web) là thiết bị máy tính chứa phần mềm máy chủ (server software) nhằm tạo lập ra môi
trường để các ứng dụng web có thể hoạt động và thực thi trên Internet Một web server có
thể chứa một hoặc nhiều website và xử lý các yêu cầu đến và trả về kết quả ở trình duyệt
người dùng thông qua giao thức HTTP hoặc HTTPs
2.2 Các phần mềm Web Server phổ biến hiện nay
Theo báo cáo của W3techs, những phần mềm web server phổ biến nhất hiện nay
bao gồm Apache, Nginx, Cloudflare server, Litespeed, IIS Song, bài viết này sẽ không
nói về CloudFlare server vì nếu website của bạn nằm trên hosting có máy chủ đặt tại Việt
Nam thì việc sử dụng CloudFlare không phải là lựa chọn tối ưu, vì khi ta truy vấn sẽ đi
vòng từ Việt Nam đến DNS Server của CloudFlare rồi mới trả kết quả về Việt Nam dẫn
đến chất lượng đường truyền quốc tế tại Việt Nam chậm
Trang 19Tỉ lệ web server sử dụng bởi các website
2.2.1 Apache HTTP server:
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ
đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như Unix,
Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò
quan trọng trong quá trình phát triển của mạng web thế giới
Khi một người truy cập vào website của bạn, họ sẽ nhập tên miền vào thanh địa
chỉ Sau đó, web server sẽ chuyển những file được yêu cầu xuống máy tính của người
truy cập như là một nhân viên vận chuyển ảo
Trang 20 Nguyên lý hoạt động
Mặc dù chúng ta gọi Apache là web server, nhưng nó lại không phải là server vật
lý, nó là một phần mềm chạy trên server đó Công việc của nó là thiết lập kết nối giữa
server và trình duyệt người dùng (Firefox, Google Chrome, Safari, ) rồi chuyển file tới
và lui giữa chúng (cấu trúc 2 chiều dạng client-server) Apache là một phần mềm đa nền
tảng, nó hoạt động tốt với cả server Unix và Windows
Khi một khách truy cập tải một trang web trên website của bạn Đơn cử, trang chủ
“Giới Thiệu”, trình duyệt người dùng sẽ gửi yêu cầu tải trang web đó lên server và
Apache sẽ trả kết quả với tất cả đầy đủ các file cấu thành nên trang “Giới Thiệu” (hình
ảnh, chữ…) Server và client giao tiếp với nhau qua giao thức HTTP và Apache chịu
trách nhiệm cho việc đảm bảo tiến trình này diễn ra mượt mà và bảo mật giữa 2 máy
Apache là một nền tảng module có độ tùy biến rất cao Modules cho phép quản trị
server tắt hoặc thêm chức năng Apache có modules cho bảo mật caching, URL rewriting,
chứng thực mật khẩu,
Tính năng
Trang 21Máy chủ web Apache có các mô-đun bổ sung thêm nhiều chức năng cho phần
mềm của nó, chẳng hạn như MPM (để xử lý các chế độ nhiều yêu cầu) hoặc mod_sslđể
bật hỗ trợ SSLv3 và TLS Một số tính năng phổ biến được thấy trong Apache bao gồm:
Định vị địa lý dựa trên địa chỉ IP
Nhiều chế độ xử lý yêu cầu (MPM) bao gồm Event driven / Async , Threaded và
Prefork
Xử lý các tệp tĩnh, tệp chỉ mục, tự động lập chỉ mục và nội dung
TLS / SSL với hỗ trợ stapling SNI và OCSP , thông qua OpenSSL hoặc wolfSSL
Kiểm soát truy cập xác thực và ủy quyền chi tiết
Trình phân tích cú pháp biểu thức chung
Chế độ xem trạng thái thời gian thực
Hỗ trợ XML
Hỗ trợ FTP (bằng một mô-đun riêng)
Trang 22Apache hỗ trợ nhiều tính năng khác nhau, nhiều tính năng được triển khai dưới
dạng các mô-đun được biên dịch mở rộng chức năng cốt lõi Chúng có thể bao gồm từ
các lược đồ xác thực đến các ngôn ngữ lập trình phía máy chủ hỗ trợ như Perl , Python ,
Tcl và PHP Các mô-đun xác thực phổ biến bao gồm mod_access, mod_auth, mod_digest
và mod_auth_digest, sự kế thừa cho mod_digest Một ví dụ về các tính năng khác bao
gồm Secure Sockets Layer và Transport Layer Security hỗ trợ ( mod_ssl ), mô-đun (
mod_proxy ), URL mô-đun (mod_rewrite), tệp nhật ký tùy chỉnh (mod_log_config) và hỗ
trợ lọc (mod_include và mod_ext_filter)
Các phương thức nén phổ biến trên Apache bao gồm mô-đun mở rộng bên ngoài,
mod_gzip, được triển khai để giúp giảm kích thước (trọng lượng) của các trang Web được
cung cấp qua HTTP ModSecurity là một công cụ phát hiện và ngăn chặn xâm nhập
nguồn mở cho các ứng dụng Web Nhật ký Apache có thể được phân tích thông qua trình
Trang 23duyệt Web bằng cách sử dụng các tập lệnh miễn phí, chẳng hạn như AWStats / W3Perl
hoặc Khách truy cập
Hosting ảo cho phép một cài đặt Apache phục vụ nhiều trang web khác nhau Ví
dụ: một máy tính có một cài đặt Apache có thể đồng thời phục vụ www.example.com,
www.example.org, test47.test-server.example.edu, Apache có các thông báo lỗi có thể
định cấu hình, cơ sở dữ liệu xác thực dựa trên DBMS, content negotiation và hỗ trợ một
số giao diện người dùng đồ họa (GUI) Nó hỗ trợ xác thực mật khẩu và xác thực chứng
chỉ số Vì mã nguồn có sẵn miễn phí, bất kỳ ai cũng có thể điều chỉnh máy chủ cho các
nhu cầu cụ thể và có một thư viện công cộng lớn về các tiện ích bổ sung Apache
2.2.2 Nginx
Nginx là một trong những web server sử dụng mã nguồn mở vô cùng mạnh mẽ
Nó sử dụng các kiến trúc đơn luồng, hướng sự kiện nên mang lại nhiều hiệu quả hơn so
với Apache server Nginx có thể thực hiện được những việc quan trọng khác như: load
balancing, HTTP caching hoặc sử dụng như một reverse proxy Nginx được xem là kiến
thức vô cùng quan trọng và không thể thiếu đối với một web developer, system
administrator hay cả devops
Nguyên lý hoạt động
Trang 24Khi ai đó gửi yêu cầu mở một trang web, trình duyệt sẽ liên lạc với máy chủ của
trang web đấy Sau đó, máy chủ tìm kiếm các tệp được yêu cầu cho trang và gửi nó đến
trình duyệt Đây chính là loại yêu cầu đơn giản nhất
Các máy chủ web truyền thống tạo một luồng duy nhất cho mọi yêu cầu, nhưng
Nginx không hoạt động theo cách đó Nginx thực hiện với kiến trúc hướng sự kiện không
đồng bộ Điều đó có nghĩa là các luồng tương tự được quản lý theo một worker process
và mỗi worker process chứa các đơn vị nhỏ hơn gọi là worker connection Toàn bộ các
đơn vị này sau đó chịu trách nhiệm xử lý các luồng yêu cầu Worker connection cung cấp
các yêu cầu cho worker process, cũng sẽ gửi nó đến master process Cuối cùng, master
process cung cấp kết quả của những yêu cầu đó
Điều đó có vẻ đơn giản, nhưng một worker connection có thể xử lý tới 1024 yêu cầu
tương tự Do đó, Nginx có thể xử lý hàng ngàn yêu cầu mà không gặp bất kỳ khó khăn
nào Đó cũng là lý do Nginx trở nên tuyệt vời cho các trang web có nhiều những yêu cầu
như e-commerce, search engines, cloud storage
Tính năng
Nginx có thể được triển khai để phục vụ nội dung HTTP động trên mạng bằng
cách sử dụng FastCGI, SCGI cho tập lệnh, máy chủ ứng dụng WSGI hoặc mô-đun
Phusion Passenger và nó có thể đóng vai trò là bộ cân bằng tải phần mềm Nginx sử dụng
cách tiếp cận theo hướng sự kiện không đồng bộ, thay vì các luồng để xử lý các yêu cầu
Kiến trúc hướng sự kiện mô-đun của Nginx có thể cung cấp hiệu suất dễ dự đoán hơn
dưới tải trọng cao
2.2.3 Internet Information Services (IIS)
IIS là viết tắt của từ (Internet Information Services ), được đính kèm với các phiên
bản của Windows IIS chính là các dịch vụ dành cho máy chủ chạy trên nền hệ điều hành
Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ
khác nhau như Web Server, FTP Server…
Nguyên lý hoạt động
Trang 25IIS sử dụng các giao thức mạng phổ biến là HTTP và FTP (File Transfer Protocol)
để tiếp nhận yêu cầu và truyền tải thông tin trên mạng với các định dạng khác nhau Một
trong những dịch vụ phổ biến nhất của IIS mà chúng ta quan tâm trong giáo trình này là
dịch vụ WWW (World Wide Web), nói tắt là dịch vụ Web Dịch vụ Web sử dụng giao
thức HTTP để tiếp nhận yêu cầu (Requests) của trình duyệt Web (Web browser) dưới
dạng một địa chỉ URL (Uniform Resource Locator) của một trang Web và IIS phản hồi
lại các yêu cầu bằng cách gửi về cho Web browser nội dung của trang Web tương ứng
Tính năng
Một trong những tính năng được sử dụng nhiều nhất của IIS là tạo một ứng dụng
web bằng ASP.NET Bên cạnh đó, IIS hoàn toàn có thể chạy được với các trang web viết
bằng các ngôn ngữ khác như PHP, Perl,…
IIS hỗ trợ một số loại xác thực như Basic access authentication, Digest access
authentication, Windows Authentication, Certificate authentication,…; các tính năng bảo
mật khác bao gồm hỗ trợ SSL/TLS, Server Name Indication (SNI), thiết lập bảo mật cho
máy chủ FTP,…
Với thiết kế dạng module, việc mở, tắt và cài đặt một số tính năng để đáp ứng nhu
cầu của người sử dụng cũng như tối ưu hiệu năng và bảo mật cho web server được đáp
ứng
Trang 26Giao diện quản lý module của IIS 7.0.
2.2.2.4 LiteSpeed
LiteSpeed hay LiteSpeed Web Server (gọi tắt là LSWS) là một dịch vụ Web Server
chạy trên nền tảng OS Linux, được biết đến với khả năng cung cấp một hiệu suất tuyệt
vời và khả năng mở rộng cực cao Một web server Apache nổi tiếng có thể được thay thế
bằng LiteSpeed Web Server vô cùng dễ dàng mà không cần chỉnh sửa bất kỳ chi tiết nào
trong cấu hình dịch vụ trên hệ điều hành và cũng không gây ảnh hưởng hay cản trở tiến
trình hay chương trình nào cả
LSWS có thể giải quyết bất kỳ vấn đề nút thắt cổ chai nào tồn tại trên giải pháp lưu trữ
website của bạn và nó cũng có nhiều tính năng ấn tượng kèm giao diện quản trị web thân
thiện, dễ dùng nhầm đảm bảo môi trường lưu trữ web của bạn an toàn và tốc độ
Nguyên lý hoạt động
Trang 27Có nguyên lý hoạt động gần giống với Apache (tức là hầu như những tính năng
của Apache đều sử dụng được trên LiteSpeed), cũng là mô ̣t plugin PHP giúp cải thiện
hiệu suất trang web WordPress bằng cách tận dụng bộ nhớ cache của trang được xây
dựng trên LiteSpeed Web Server Tuy nhiên, nó có khả năng chịu tải và tốc độ truyền, xử
lý dữ liệu tốt hơn Apache khá nhiều
Tính năng
Khi nói đến tốc độ và sự ổn định thì LiteSpeed thật tuyệt vời, khi so sánh với
Apache thì LiteSpeed thật sự nhanh hơn nhiều và nó cũng phục vụ nội dung PHP trong
thời gian nhanh hơn Vì vậy mà LiteSpeed luôn là giải pháp hosting web lý tưởng cho các
website sử dụng CMS phổ biến như WordPress, Joomla, Drupal vì nó tăng hiệu xuất xử
lý PHP Dưới đây là vài tính năng về LiteSpeed các bạn cùng CuongQuach xem qua nhé
Tương thích với Apache: LiteSpeed hoàn toàn tương thích với Apache và cũng
có thể sử dụng các tính năng như mod_rewrite, mod_security, htaccess File
cấu hình của Apache dễ dàng được nạp vào LiteSpeed và vận hành trơn tru thay
thế Apache Ngoài ra LiteSpeed hoạt động rất tốt trên các phần mềm quản lý
hosting web/máy chủ (các control panel)
Hiệu suất tuyệt vời cùng khả năng mở rộng: LiteSpeed cải thiện hiệu suất cùng
khả năng mở rộng cho các nền tảng lưu trữ web LiteSpeed có khả năng phục
vụ số lượng lớn khách truy cập đồng thời với việc sử dụng tài nguyên ở mức tối
thiểu Được lập trình với code tối ưu hơn vì thế LiteSpeed đạt hiệu suất cao hơn
Apache trong việc xử lý PHP cũng như file tĩnh LiteSpeed cũng có khả năng
giám sát lưu lượng tăng đột biến, điều này giúp bạn xử lý DDOS tốt hơn mà
không cần đầu tư thêm phần cứng quản lý DDOS
Bảo mật: LiteSpeed hoạt động tốt với tính năng mod_security của Apache và
bản thân nó cũng có tính năng chống DDOS Bao gồm các tính năng tùy chỉnh
như request, per-IP connection, bandwidth throttling,… Thông qua đó nếu IP
Trang 28có quá nhiều connection hoặc quá nhiều request sẽ bị chặn lại do đó giảm thiểu
các tác nhân xấu muốn phá hoại máy chủ của bạn
Chi phí: việc lưu trữ trên LiteSpeed Web Server là công việc dễ dàng và giá cả
phải chăng Phí bản quyền thấp hơn so với việc bạn nâng cấp một máy chủ
Apache LiteSpeed cũng giúp bạn giảm nhân lực hỗ trợ nếu bạn là nhà cung cấp
hosting khi mà nó có nhiều tính năng tuyệt vời cũng như sự ổn định và an toàn
Sử dụng phần cứng hiệu quả: So với Apache hay Nginx, LiteSpeed đảm bảo tốc
độ tăng lên từ 2 – 5 lần cũng như 98% load của máy chủ sẽ thấp hơn Điều này
sẽ giúp bạn phục vụ được số lượng lớn khách hàng trên cùng nền tảng phần
cứng bấy nhiêu đó
Quản lý đơn giản: Điều tốt nhất về LiteSpeed là quản lý đơn giản LiteSpeed dễ
dàng đọc file cấu hình Apache và htaccess, plugin bảng điều khiển dễ cấu hình
và triển khai Bạn có thể chuyển đổi cài đặt Apache và LiteSpeed dễ dàng cũng
như quản lý nội dung website trên LiteSpeed chỉ với vài cú nhấp chuột Bạn
cũng có thể dễ dàng bật tính năng cache trên mỗi account
Trang 29Chương 3: CÀI ĐẶT VÀ CẤU HÌNH WEB SERVER
A Cài đặt web server (Internet Information Service - IIS 6.0
1 Click nút Start -> Settings - > Control Panel -> Add or Remove Programs
2 Click vào nút Add/Remove Windows Components
Trang 303 Cửa sổ Windows Components Wizard xuất hiện
4 Chọn dòng Application Server, click nút Details
5 Chọn dòng Internet Information Services (IIS), click nút Details…
6 Chọn dòng World Wide Web Service, click nút Details để xem các
Subcomponents trong Web Service
Trang 317 Chọn checkbox Active Server Pages để Webserver hỗ trợ chạy các trang web
động ASP
8 Chọn checkbox Internet Data Connector để hỗ trợ hoạt động cho các trang web
có kết nối cơ sở dữ liệu
9 Chọn checkbox Remote Administration (HTML) cài dịch vụ cấu hình dịch vụ
Web Server IIS (Internet Information Server) qua mạng
10 Chọn checkbox Remote Desktop Web Connection nếu muốn cài đặt dịch vụ
cấu hình Remote Desktop thông qua Web
11 Chọn Checkbox Server Side Includes để hỗ trợ các trang web động chạy trên
máy chủ
12 Chọn checkbox WebDAV Publishing để cài dịch vụ Web Folder (Web
Distributed Authoring and Versioning) là một giao thức bảo mật cho việc truyền
các tập tin qua mạng Intranet hay Internet
Với WebDAV Publishing bạn có thể Upload, Download và quản lý các tập
tin trên máy ở xa (Remote Computer) thông qua mạng Intranet hay
Internet
WebDAV cung cấp môi trường truyền các tập qua web bảo mật hơn so với
dịch vụ truyền file FTP vì nó có cơ chế bảo vệ Password (Password
Security) của bạn & mã hóa dữ liệu (Data Encryption) khi bạn truyền thông
tin đến Web Server đang chạy dịch vụ SSL (Secure Sockets Layer)
Trang 32 Nếu Web Server không chạy dịch vụ SSL (Secure Sockets Layer) thì
WebDAV có thể bảo vệ mật mã của bạn (nếu Web server đang được cấuhình sử dụng cơ chế Windows Authentication) tuy nhiên dữ liệu của bạn khitruyền đến máy chủ Web Server sẽ không được mã hóa Nếu Web Server sửdụng dịch vụ SSL thì các Web Client sẽ truy cập đến bằng giao thức https://
FTP không sử dụng mã hóa (Encryption) để bảo vệ Password của bạn khi
bạn Login vào Server & không mã hóa dữ liệu của bạn khi truyền đếnServer
13 Chọn checkbox World Wide Web Service để cài đặt dịch vụ Web Server -> Click nút
OK
14 Bạn có thể chọn cài thêm phần mở rộng FrontPage 2002 Server Extensions để hỗ trợ
cho nhiều User đồng thời tạo, quản lý & xuất các website từ máy tính của Client qua
mạng Internet