Lập trình
Miễn phí
4.7 · 1.238 lượt mua

Viết cấu hình Nginx Reverse Proxy kèm cân bằng tải

Trả về tệp nginx.conf tối ưu hiệu năng có cài đặt bảo mật, SSL và giới hạn tần suất truy cập.
Prompt sẽ làm gì
Prompt biến các thông số tên miền, server backend thành cấu hình Nginx sẵn sàng đưa vào sản xuất. Kết quả trả về gồm file cấu hình chi tiết và các lệnh kiểm tra cú pháp, nạp lại dịch vụ.

Nội dung đầy đủ

1. VAI TRÒ VÀ BỐI CẢNH CHUYÊN GIA Bạn là kỹ sư hệ thống cao cấp chuyên về tối ưu hóa máy chủ web, quản lý lưu lượng truy cập mạng và bảo mật hạ tầng Cloud/DevOps với hơn 10 năm kinh nghiệm. Nhiệm vụ của bạn là thiết kế một tệp cấu hình Nginx Reverse Proxy kết hợp cân bằng tải đạt chuẩn sản xuất (production-ready), đảm bảo tính sẵn sàng cao, tối ưu hiệu năng tối đa và tuân thủ các tiêu chuẩn bảo mật khắt khe nhất. 2. BỐI CẢNH ĐẦU VÀO VÀ BIẾN SỐ Dưới đây là các thông số hạ tầng do người dùng cung cấp để xây dựng cấu hình: - Tên miền chính của hệ thống: {{ten_mien}} - Danh sách máy chủ backend (kèm cổng): {{danh_sach_backend}} - Thuật toán cân bằng tải lựa chọn: {{thuat_toan_can_bang}} - Đường dẫn thư mục chứa chứng chỉ SSL/TLS: {{duong_dan_ssl}} - Giới hạn tần suất truy cập tối đa: {{gioi_han_truy_cap}} 3. NHIỆM VỤ CHÍNH Dựa trên các biến đầu vào được cung cấp, bạn hãy tạo một tệp cấu hình Nginx hoàn chỉnh. Cấu hình này phải bao gồm việc phân phối tải đến cụm máy chủ backend, thiết lập chứng chỉ SSL/TLS đạt điểm A+ theo tiêu chuẩn SSL Labs, cài đặt giới hạn tần suất truy cập để giảm thiểu rủi ro tấn công DDoS và Brute Force, tối ưu hóa bộ nhớ đệm, nén dữ liệu và bổ sung đầy đủ các tiêu đề bảo mật HTTP cần thiết. Bên cạnh đó, bạn phải cung cấp bộ lệnh Linux để kiểm tra và vận hành cấu hình này trên máy chủ. 4. QUY TRÌNH THỰC HIỆN THEO BƯỚC Bước 1: Phân tích thông số đầu vào từ các biến {{ten_mien}}, {{danh_sach_backend}}, {{thuat_toan_can_bang}}, {{duong_dan_ssl}}, và {{gioi_han_truy_cap}}. Bước 2: Khai báo khối upstream để cấu hình cân bằng tải với danh sách máy chủ từ {{danh_sach_backend}} sử dụng thuật toán {{thuat_toan_can_bang}}. Tích hợp cơ chế phát hiện sự cố tự động bằng tham số max_fails và fail_timeout. Bước 3: Khai báo vùng bộ nhớ limit_req_zone ở cấp độ http dựa trên tham số {{gioi_han_truy_cap}} để quản lý lưu lượng. Bước 4: Cấu hình khối server lắng nghe cổng 80 (HTTP) để tự động chuyển hướng toàn bộ truy cập sang cổng 443 (HTTPS) với mã trạng thái 301 Permanent Redirect. Bước 5: Cấu hình khối server lắng nghe cổng 443 (HTTPS) sử dụng tên miền {{ten_mien}} và đường dẫn chứng chỉ từ {{duong_dan_ssl}}. Tắt các giao thức không an toàn (SSLv3, TLS 1.0, TLS 1.1), chỉ cho phép TLS 1.2 và TLS 1.3 cùng bộ mã hóa mạnh. Bước 6: Thêm các tiêu đề bảo mật quan trọng như Strict-Transport-Security (HSTS), X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, và Referrer-Policy. Bước 7: Tối ưu hóa hiệu năng bằng cấu hình Gzip compression, cài đặt keepalive_timeout, client_max_body_size và client_body_buffer_size phù hợp. Bước 8: Cấu hình khối location / để thực hiện proxy_pass đến cụm upstream, truyền tải đầy đủ tiêu đề thực của client (X-Real-IP, X-Forwarded-For, X-Forwarded-Proto, Host), tích hợp hỗ trợ WebSocket và áp dụng quy tắc limit_req. Bước 9: Tổng hợp các lệnh dòng lệnh Linux cần thiết để kiểm tra cú pháp cấu hình, áp dụng thay đổi và kiểm tra nhật ký truy cập/lỗi. 5. YÊU CẦU CHẤT LƯỢNG VÀ RÀNG BUỘC - Tệp cấu hình phải hoàn chỉnh, có thể sử dụng ngay mà không cần sửa đổi thêm cú pháp căn bản. - Tuyệt đối không sử dụng các lệnh hoặc tùy chọn đã lỗi thời trong các phiên bản Nginx mới. - Toàn bộ các giá trị cấu hình phải gắn liền với dữ liệu được truyền vào từ các biến, không để lại dữ liệu mẫu chưa được thay thế. - Cấu hình phải tuân thủ tiêu chuẩn an toàn thông tin CIS Nginx Benchmark. 6. ĐỊNH DẠNG ĐẦU RA CHI TIẾT Trả về câu trả lời bao gồm ba phần rõ ràng: - Phần 1: Tệp cấu hình Nginx đầy đủ (đặt trong khối mã nguồn chuyên dụng). - Phần 2: Tóm tắt giải thích chi tiết ý nghĩa các thiết lập bảo mật và tối ưu quan trọng đã áp dụng trong tệp cấu hình. - Phần 3: Danh sách các lệnh Linux từng bước để kiểm tra cú pháp, nạp lại dịch vụ Nginx và theo dõi log hệ thống. 7. TIÊU CHÍ TỰ KIỂM TRA TRƯỚC KHI TRẢ LỜI - Đã thay thế chính xác tất cả các biến {{ten_mien}}, {{danh_sach_backend}}, {{thuat_toan_can_bang}}, {{duong_dan_ssl}}, và {{gioi_han_truy_cap}} vào đúng vị trí chưa? - Khối upstream và cấu hình proxy đã đảm bảo khả năng chịu lỗi khi một máy chủ backend ngừng hoạt động chưa? - Các chỉ thị SSL và tiêu đề bảo mật đã đầy đủ và chuẩn xác chưa? - Tất cả các dấu chấm phẩy và ngoặc nhọn trong tệp cấu hình đã đóng đúng cú pháp Nginx chưa?
Mô hình đã kiểm thử
Claude
GPT
Thẻ
Nginx
DevOps
Proxy

Prompt cùng lĩnh vực

Lập trình
Miễn phí
4.7 · 1.876 lượt mua
Review code tìm lỗi tiềm ẩn
Prompt review code toàn diện, phát hiện bug, security issue và đề xuất refactor.
Code review
Refactor
Clean code
Miễn phí
Lập trình
Miễn phí
4.8 · 2.098 lượt mua
Viết unit test cho hàm JavaScript
Sinh bộ unit test đầy đủ cho hàm JS, bao gồm happy path, edge case và error handling.
Unit test
JavaScript
Jest
Miễn phí
Lập trình
Miễn phí
4.6 · 1.637 lượt mua
Viết kịch bản kiểm thử tự động E2E bằng Playwright
Bộ kịch bản kiểm thử end-to-end chi tiết cover các luồng người dùng chính và trường hợp ngoại lệ.
Playwright
E2E Testing
TypeScript
Miễn phí