Traefik là một HTTP reverse proxy hiện đại, hỗ trợ nhiều tính năng giúp triển khai dự án dễ dàng hơn.
Một trong số đó là forward đường dẫn và redirect http sang https.
Hướng dẫn này dành cho việc triển khai ứng dụng trong chế độ Swarm, trong môi trường docker thông thường, traefik cũng hỗ trợ tương tự các tính năng. Xem thêm tại https://traefik.io
Forward
Để chuyển tiếp sang 1 ứng dụng Nginx từ cổng (80) của traefik, cần cấu hình 1 file docker-compose và 1 file traefik.toml như sau:
File YML
- Cổng mặc định của Traefik là 80, cổng 8080 dùng export cổng dashboard, cho phép theo dõi việc traefik quản lý ứng dụng qua giao diện web.
- Label "traefil.frontend.rule=PathPrefixStrip:/nginx" cho phép kết nối tới service nginx thông qua cổng 80 của traefik .
- Label "traefik.docker.network=traefik" cho biết mạng mà traefik sẽ dùng để kết nối tới service.
- Label "traefik.port=80" là port xử lý của service nginx, với caddy mặc định là 2015, hay ghost là 2368
- Label "traefik.enable=true" để cho phép container hoạt động với traefik
File TOML
- Khối "docker" để thông báo ứng dụng chạy trên docker
- Khối web để mở cổng dashboard
- Option swarmmode=true để kích hoạt chế độ swarm
- Option exposedbydefault để vô hiệu hóa việc expose mọi service, chỉ expose các service có label "traefik.enable=true".
Deploy
Tạo 1 mạng riêng cho ứng dụng
Triển khai docker compose
Kết quả
REDIRECT HTTPS
File YML
- Có thêm Secrets nếu bạn muốn sử dụng TLS certificate hoặc SSL (tùy chọn)
File TOML
- Khối "entryPoints.http.redirect" để thực hiện chuyển http sang https theo ý muốn
- Khối "entryPoints.https.tls" khi muốn sử dụng TLS certificate hoặc SSL (tùy chọn)
Kết quả
Chú thích: https bị gạch đỏ do không sử dụng certificate TLS certificate hoặc SSL
Bình luận