Tạo Cấu Hình Nginx — Server Block & Reverse Proxy

Chọn việc Nginx cần làm — phục vụ site tĩnh hoặc SPA, proxy tới ứng dụng Node/Python, hoặc chạy PHP — rồi đánh dấu các tùy chọn thêm. Bạn sẽ nhận được một server block có chú thích, sẵn sàng dùng, với HTTPS, chuyển hướng www, gzip, caching và security headers.

Cập nhật
nginx.conf

Lưu thành /etc/nginx/sites-available/example.com.conf, liên kết vào sites-enabled, rồi chạy sudo nginx -t && sudo systemctl reload nginx.

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Tạo cấu hình Apache VirtualHost cho web tĩnhWordPress, PHP-FPM hoặc reverse proxy, kèm chuyển hướng HTTPS, HTTP/2, nén dữ liệu, cache và security headers.Trình tạo Apache VirtualHost →

Cách dùng Tạo Cấu Hình Nginx

  1. Chọn kịch bản: Static site, SPA (mọi route đều quay về index.html), Reverse proxy tới ứng dụng chạy trên một cổng, hoặc PHP-FPM.
  2. Nhập tên miền, document root hoặc địa chỉ upstream, rồi chọn cách xử lý www.
  3. Đánh dấu các tùy chọn thêm — HTTPS với đường dẫn Let’s Encrypt, gzip, cache file tĩnh, security headers, WebSockets, giới hạn request.
  4. Sao chép cấu hình, kiểm tra bằng nginx -t và reload Nginx.

Mỗi tùy chọn thêm gì vào cấu hình

Tùy chọnDirective
HTTPSServer ở cổng 80 chuyển hướng bằng 301, listen 443 ssl, đường dẫn chứng chỉ Certbot và location cho ACME challenge
SPAtry_files $uri $uri/ /index.html; để các route phía client không trả về 404
Reverse proxyproxy_pass cùng các header Host, X-Real-IP, X-Forwarded-For và X-Forwarded-Proto
WebSocketsproxy_http_version 1.1 với header Upgrade / Connection
gzipNén cho text, JSON, JS, CSS, SVG và font
Static cachingCache-Control: immutable với thời gian một năm cho asset có hash, cache ngắn cho HTML
Security headersX-Content-Type-Options, Referrer-Policy, X-Frame-Options, Permissions-Policy
Rate limitlimit_req_zone (trong context http) và limit_req kèm burst

Lấy chứng chỉ SSL

Tạo cấu hình với HTTPS tắt trước, reload Nginx rồi chạy sudo certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com — hoặc đơn giản là sudo certbot --nginx. Sau đó bật HTTPS, reload và kiểm tra kết quả bằng SSL Checker, Redirect Checker và Security Headers Checker.

Các lỗi thường gặp

  • Thiếu dấu chấm phẩy — mỗi directive phải kết thúc bằng ;. nginx -t sẽ chỉ ra đúng dòng lỗi.
  • Kế thừa add_header — add_header bên trong location sẽ thay thế toàn bộ header ở cấp server. Trình tạo đã lặp lại security headers ở những chỗ cần thiết.
  • Dấu gạch chéo cuối trong proxy_pass — proxy_pass http://app/; sẽ bỏ phần tiền tố của location, còn proxy_pass http://app; thì giữ lại.
  • Sai MIME type — font hoặc .webmanifest bị trả về dưới dạng application/octet-stream; hãy tra cứu bằng MIME Type Lookup.

Chạy trên Docker? Kết hợp với Docker Compose Generator.

Cũng được tìm dưới tên: nginx config generator, cấu hình nginx reverse proxy, cấu hình nginx spa, nginx server block, chuyển hướng https nginx, cấu hình nginx websocket, cấu hình nginx php-fpm, chuyển hướng www nginx.

Các công cụ dùng kèm tốt với Tạo Cấu Hình Nginx

  • Trình tạo Apache VirtualHost — Lấy cấu hình Apache virtual host đầy đủ cho tên miền của bạn: web tĩnh, WordPress, PHP-FPM hoặc reverse proxy tới ứng dụng Node hay Python.
  • Trình tạo Caddyfile — Caddy tự động lấy chứng chỉ HTTPS — bạn chỉ cần mô tả trang web của mình.
  • Kiểm tra YAML — Dán file Docker Compose, manifest Kubernetes, workflow GitHub Actions hoặc bất kỳ YAML nào để xác định chính xác lỗi, phát hiện các lỗi thường gặp và nhận bản đã định dạng gọn gàng.
  • Tạo Kubernetes YAML — Nhập tên ứng dụng, image và cổng, bạn sẽ có ngay Kubernetes YAML sẵn sàng cho production: một Deployment với probe, giới hạn tài nguyên và security context được gia cố, cùng Service, Ingress có TLS, ConfigMap, Secret và HorizontalPodAutoscaler mà bạn chọn — tất cả trong một file, sẵn sàng cho kubectl apply.

Câu hỏi thường gặp

Làm sao kiểm tra cấu hình Nginx trước khi reload?
Chạy sudo nginx -t. Lệnh này kiểm tra cú pháp và đường dẫn file, đồng thời in ra dòng có lỗi. Chỉ reload (sudo systemctl reload nginx) khi thấy “syntax is ok” và “test is successful”.
Làm thế nào để app React hoặc Vue hoạt động khi refresh trang?
Dùng kịch bản SPA. Nó sẽ thêm try_files $uri $uri/ /index.html; để mọi đường dẫn không tồn tại đều trả về index.html và router phía client sẽ xử lý tiếp.
limit_req_zone nên đặt ở đâu?
limit_req_zone phải nằm trong context http (ví dụ trong /etc/nginx/nginx.conf hoặc ở đầu một file được include vào đó), không được đặt trong server. Trình tạo đặt nó ở đầu file kèm chú thích; các file trong sites-enabled mặc định được include trong http.
Có nên bật HSTS không?
Chỉ nên bật khi HTTPS hoạt động ổn định trên tên miền và mọi subdomain bạn đưa vào. Trình duyệt sẽ ghi nhớ HSTS trong khoảng max-age, nên nếu chứng chỉ bị lỗi thì site sẽ không truy cập được. Hãy bắt đầu với max-age ngắn.
Tôi có thể cài Tạo Cấu Hình Nginx như một ứng dụng web và dùng khi không có mạng không?
Có. Tạo Cấu Hình Nginx là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan