Cách dùng Tạo Cấu Hình Nginx
- 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. - Nhập tên miền, document root hoặc địa chỉ upstream, rồi chọn cách xử lý
www. - Đá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.
- Sao chép cấu hình, kiểm tra bằng
nginx -tvà reload Nginx.
Mỗi tùy chọn thêm gì vào cấu hình
| Tùy chọn | Directive |
|---|---|
| HTTPS | Server ở 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 |
| SPA | try_files $uri $uri/ /index.html; để các route phía client không trả về 404 |
| Reverse proxy | proxy_pass cùng các header Host, X-Real-IP, X-Forwarded-For và X-Forwarded-Proto |
| WebSockets | proxy_http_version 1.1 với header Upgrade / Connection |
| gzip | Nén cho text, JSON, JS, CSS, SVG và font |
| Static caching | Cache-Control: immutable với thời gian một năm cho asset có hash, cache ngắn cho HTML |
| Security headers | X-Content-Type-Options, Referrer-Policy, X-Frame-Options, Permissions-Policy |
| Rate limit | limit_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 -tsẽ chỉ ra đúng dòng lỗi. - Kế thừa add_header —
add_headerbên tronglocationsẽ 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ònproxy_pass http://app;thì giữ lại. - Sai MIME type — font hoặc
.webmanifestbị trả về dưới dạngapplication/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.