Tối ưu hóa hiệu năng và bảo mật cho Nginx Server
1. Ẩn thông tin phiên bản Nginx
Việc ẩn số phiên bản giúp ngăn chặn hacker thu thập thông tin để khai thác các lỗ hổng đã biết trên các bản Nginx cụ thể. Thay vì sử dụng các chỉ thị cấu hình thông thường, chúng ta có thể can thiệp trực tiếp vào mã nguồn trước khi biên dịch để thay đổi hoàn toàn định danh server.
Truy cập vào thư mục mã nguồn N ...
Đăng vào ngày 31 tháng 5 lúc 01:07
Cài đặt Nginx sử dụng Ansible
Trang web chính thức của Ansible đề xuất cấu trúc playbook như sau:
Cấu trúc thư mục
production # Tệp inventory cho môi trường sản xuất
staging # Tệp inventory cho môi trường thử nghiệm
group_vars / # Các biến cho nhóm máy chủ
group1
group2
hosts_vars / # Các biến cho từng máy chủ cụ thể
hostname1
hostname2
= = = ...
Đăng vào ngày 30 tháng 5 lúc 20:07
Cấu hình và triển khai Nginx trong môi trường Docker
Khởi tạo container Nginx ban đầu để trích xuất cấu hình:
docker run --name nginx_temp -p 8080:80 -d nginx:1.18.0
Sao chép các tệp cấu hình và tài nguyên từ container ra máy chủ:
mkdir -p /home/admin1/yyx/nginx/{conf,log,html}
docker cp nginx_temp:/etc/nginx/nginx.conf /home/admin1/yyx/nginx/conf/
docker cp nginx_temp:/etc/nginx/conf.d /home/ad ...
Đăng vào ngày 29 tháng 5 lúc 16:30
Cấu hình cụm nginx với keepalived cho tính sẵn sàng cao
Keepalived là một công cụ mã nguồn mở hỗ trợ xây dựng hệ thống dịch vụ có khả năng chịu lỗi và tự phục hồi, dựa trên giao thức VRRP (Virtual Router Redundancy Protocol) và cơ chế kiểm tra trạng thái đa lớp. Nó hoạt động ở ba tầng của mô hình OSI: lớp mạng (Layer 3), lớp vận chuyển (Layer 4), và lớp ứng dụng (Layer 5), cho phép phát hiện sự cố v ...
Đăng vào ngày 27 tháng 5 lúc 08:02
Middleware Gateway - Nginx (Part 1)
1. Giới thiệu về Nginx
Nginx là một máy chủ HTTP cao hiệu suất, máy chủ proxy ngược, máy chủ email và máy chủ proxy ngược cho TCP/UDP.
Việc xử lý yêu cầu của Nginx là bất đồng bộ và không chặn, nhờ đó nó có thể duy trì hiệu suất cao và tiêu thụ tài nguyên thấp ngay cả trong môi trường tải cao. Nó thường được sử dụng trong các hệ thống phân ...
Đăng vào ngày 27 tháng 5 lúc 02:37
Giải quyết vấn đề ContextPath, RequestURI, getScheme và ServerPort không chính xác khi sử dụng Nginx làm reverse proxy cho Tomcat/Spring Boot
Vấn đề gặp phải
Ví dụ về proxy từ /amp đến /crm
Địa chỉ yêu cầu:
Thông tin in ra (đã bỏ qua phần giải quyết dấu gạch chéo bị trùng)
Có thể thấy contextPath là /crm của Tomcat thay vì /amp được yêu cầu bởi trình duyệt. Điều này có thể dẫn đến:
Lỗi 404 do công cụ template (JSP, Thymeleaf)拼接 sai thông tin header
Lỗi 404 khi thực hiện Redirect t ...
Đăng vào ngày 25 tháng 5 lúc 18:42
Hướng dẫncontainer hóa - Ví dụ 1 - Khởi động một wiki chia sẻ trong 1 phút
Yêu cầu cơ bản
Docker - một công cụ mạnh mẽ và dễ sử dụng
Sơ đồ Markdown - cấu trúc dễ hiểu
Quá trình xây dựng cơ bản
Khởi tạo và cấu hình thư mục ban đầu
Thực thi các lệnh sau để bắt đầu:
# Tạo một thư mục làm việc (tốt nhất là thư mục git để dễ dàng upload)
mkdir wiki_container && cd wiki_container
# Tạo và clone dự án từ Git
git clone h ...
Đăng vào ngày 24 tháng 5 lúc 09:05
Giải pháp thông báo người dùng làm mới sau khi triển khai frontend
1. Giải pháp kiểm tra phiên bản (khuyến nghị)
Nguyên lý
So sánh số phiên bản lưu trữ cục bộ và phiên bản mới nhất từ server để xác định cần cập nhật hay không.
javascript
// quan-ly-phien-ban.js - Công cụ quản lý phiên bản
class QuanLyPhienBan {
constructor() {
this.phienBanHienTai = process.env.REACT_APP_VERSION || '1.0.0';
this.khoa ...
Đăng vào ngày 21 tháng 5 lúc 09:48
Cấu Hình Bảo Mật TLS 1.3 Và Tối Ưu Hóa Cipher Suite Với Certbot
Thiết Lập Bảo Mật Truyền Tải Dữ Liệu Web
Các cảnh báo về kết nối không an toàn trên trình duyệt thường phản ánh cấu hình giao thức truyền tải chưa đạt chuẩn, khiến dữ liệu người dùng dễ bị nghe lén. Bài viết này hướng dẫn kỹ thuật sử dụng Certbot để thiết lập HTTPS, tập trung vào việc kích hoạt TLS 1.3 và tinh chỉnh các bộ mã hóa (cipher suites ...
Đăng vào ngày 21 tháng 5 lúc 03:43
Tích hợp StreamSaver trong Angular để tải file lớn
Ứng dụng thực tế:
Mục tiêu: Cho phép tải file dung lượng lớn (>= 2GB) từ trình duyệt với khả năng ghi nối tiếp (append) dữ liệu nhận được qua nhiều lần gọi API.
Thách thức: Trình duyệt không hỗ trợ ghi nối tiếp trực tiếp vào file cục bộ. Giải pháp thay thế là sử dụng thư viện StreamSaver.js.
1. Tải và tích hợp StreamSaver.js
Tải mã nguồn từ ...
Đăng vào ngày 20 tháng 5 lúc 10:54