Nginx - Pihole cluster load balancing
Trong bài viết này mình sẽ cùng bạn dựng DNS server với pihole và dùng nginx để làm load balancing.
Tổng quát luồng xử lý như sau:
- (1)
nginx
nhận request cổng53
cho phân giải DNS và cổng8080
cho HTTP request - (2)
nginx
phân bổ request về 2 pihole chạy trên docker, lần lượt nghe ở các port:531, 532, 8081, 8082
# DNS
DNS request :53 --> nginx :53 --> pihole_1 :531
--> pihole_2 :532
# HTTP
Admin user :8080 --> nginx :8080 --> pihole_1 :8081
--> pihole_2 :8082
Nginx: Sử dụng GeoIP (v1) chặn truy cập theo quốc gia và whitelist các IP address tin cậy
Sử dụng nginx để chặn truy cập vào trang web / dịch vụ của bạn đối với các khu vực không cần thiết sẽ rất hữu ích, đặc biệt khi phát hiện dịch vụ bị tấn công từ các IP không có user của dịch vụ.
Get real client IP for Apache server behind Nginx Proxy Server
Step to configuration: