Cách định cấu hình HAProxy làm Proxy ngược

Cach Dinh Cau Hinh Haproxy Lam Proxy Nguoc



Khi bạn có máy chủ web, việc có cách chuyển tiếp yêu cầu của máy khách và phản hồi của máy chủ sẽ giúp phân phối lưu lượng truy cập và tăng cường bảo mật. Proxy ngược, chẳng hạn như HAProxy, hoạt động như một trung gian giữa ứng dụng web và thiết bị khách của bạn khi được định cấu hình. Bằng cách đó, nó nhận được yêu cầu của máy khách và chuyển tiếp chúng đến máy chủ web thích hợp đồng thời nhận được phản hồi của máy chủ và truyền chúng đến máy khách. Định cấu hình HAProxy ở phía máy chủ của bạn để hoạt động như proxy ngược là một quá trình đơn giản. Bài đăng này đã trình bày chi tiết các bước bạn nên thực hiện.

Tại sao nên sử dụng Proxy ngược?

Trước khi thảo luận các bước định cấu hình HAProxy làm proxy ngược, hãy nhanh chóng nêu rõ lý do tại sao proxy ngược lại hoạt động có lợi cho bạn. Sau đây là những lợi ích bạn nhận được khi sử dụng HAProxy làm proxy ngược:

  1. Cân bằng tải – Tại một thời điểm, máy chủ web của bạn có thể gặp phải trường hợp có nhiều yêu cầu từ khách hàng, nếu không được xử lý tốt có thể khiến máy chủ bị quá tải, gây ra thời gian ngừng hoạt động không mong muốn. Tuy nhiên, việc định cấu hình proxy ngược đảm bảo rằng lưu lượng truy cập được phân phối trên các máy chủ phụ trợ để đảm bảo rằng không có máy chủ nào bị quá tải vì yêu cầu.
  2. Tường lửa và bảo mật – Proxy ngược kết nối các thiết bị khách với máy chủ web. Làm như vậy sẽ giảm nguy cơ để máy chủ phụ trợ của chúng tôi tiếp xúc trực tiếp với Internet. Bằng cách đó, lưu lượng truy cập độc hại có thể dễ dàng được lọc và chặn trước khi nó làm hỏng máy chủ.
  3. Bộ nhớ đệm tốt hơn – Với proxy ngược, bạn sẽ nhận thấy sự cải thiện hiệu suất tổng thể vì thời gian tải sẽ giảm bằng cách lưu vào bộ nhớ đệm nội dung tĩnh. Bên cạnh đó, bạn sẽ đạt được trải nghiệm người dùng tốt hơn.
  4. Chấm dứt SSL/TLS – Với proxy ngược, việc mã hóa và giải mã các kết nối SSL/TLS trở nên liền mạch và các máy chủ phụ trợ của bạn sẽ không phải gánh vác nhiệm vụ này, giúp giảm tải.

Cách định cấu hình HAProxy làm Proxy ngược

Sau khi đã giải thích lý do tại sao proxy ngược như HAProxy lại cần thiết, hãy đưa ra các bước cấu hình để thực hiện theo.







Bước 1: Cài đặt HAProxy



Có thể bạn đã cài đặt HAProxy trên hệ thống của mình. Nếu vậy, bỏ qua bước này. Tuy nhiên, đối với người mới làm quen với điều này, hãy chạy lệnh sau để cài đặt HAProxy:



$ sudo apt cài đặt haproxy

Chúng tôi đã cài đặt nó trong trường hợp của chúng tôi.





Bước 2: Chỉnh sửa tệp cấu hình HAProxy



HAProxy có một tệp cấu hình mà bạn phải truy cập và chỉnh sửa để định cấu hình làm proxy ngược của mình. Bắt đầu bằng cách mở tệp cấu hình bằng trình soạn thảo văn bản.

$ sudo nano /etc/haproxy/haproxy.cfg

Khi nó mở ra, hãy lưu ý rằng nó có các cấu hình cơ bản cho phần mặc định và phần chung. Sau đó chúng ta phải tạo thêm hai phần: frontend và backend. Giao diện người dùng xác định các giao diện sẽ nhận yêu cầu của máy khách, trong khi phần phụ trợ chỉ định các máy chủ sẽ xử lý lưu lượng.

Trong ví dụ này, chúng tôi định cấu hình giao diện người dùng để chấp nhận các yêu cầu của máy khách từ cổng 80 và 81. Sau đó, chúng tôi tạo quy tắc để phân phối lưu lượng sao cho các kết nối từ cổng 80 được định tuyến đến một máy chủ cụ thể trong khi các kết nối từ cổng 81 đi đến một máy chủ khác. máy chủ. Phần frontend của chúng ta như sau:

Vì chúng tôi đã tạo hai máy chủ phụ trợ, backend2 và linux_backend, nên chúng tôi phải tạo các phần phụ trợ cho cả hai máy chủ. Chúng tôi chỉ định IP nào sẽ phân phối lưu lượng truy cập đến “server1” và “server2” của chúng tôi cho mỗi IP.

Sau khi chỉnh sửa tệp cấu hình, hãy lưu nó và thoát khỏi tệp. Lưu ý rằng có nhiều cách để định cấu hình HAProxy tùy theo nhu cầu của bạn. Trong trường hợp của chúng tôi, chúng tôi tạo các máy chủ web bằng cách sử dụng địa chỉ IP được chỉ định để định tuyến lưu lượng truy cập của mình. Thay đổi IP để khớp với IP của máy chủ web của bạn và cổng bạn muốn nghe.

Bước 3: Xác minh tính hợp lệ

Với HAProxy, có một lệnh cho phép bạn xác minh xem tệp cấu hình của bạn có hợp lệ hay không. Chạy lệnh sau và xem kết quả bạn nhận được:

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Nếu bạn nhận được kết quả tương tự, điều đó sẽ xác nhận rằng tệp cấu hình của bạn hợp lệ. Nếu không, nó sẽ gây ra lỗi.

Bước 4: Kiểm tra proxy ngược

Sử dụng lệnh như “curl”, bạn có thể gửi lưu lượng truy cập đến máy chủ web của mình và xem nó phản hồi như thế nào. Trong trường hợp của chúng tôi, chúng tôi sử dụng Python3 để tạo máy chủ web.

Việc chạy lệnh “curl” xác nhận rằng máy chủ web của chúng tôi đang lắng nghe cổng được chỉ định và HAProxy đã phân phối lưu lượng truy cập đến máy chủ được chỉ định dựa trên tệp cấu hình của chúng tôi.

Bạn cũng có thể truy cập máy chủ web của mình trên trình duyệt và xác nhận rằng proxy ngược hoạt động.

Vì chúng tôi có hai máy chủ web có thể được sử dụng tùy thuộc vào cổng được thiết bị khách sử dụng, hãy liên kết một máy chủ web khác với một cổng khác và xem điều gì sẽ xảy ra.

Đầu ra sau đây cho thấy HAProxy đã gửi lưu lượng truy cập của chúng tôi đến máy chủ phụ trợ thứ hai sau khi phát hiện yêu cầu của máy khách được gửi qua cổng 81, xác nhận rằng việc phân phối lưu lượng đang hoạt động như mong đợi.

Đó là cách định cấu hình HAProxy làm proxy ngược.

Phần kết luận

HAProxy là một lựa chọn tuyệt vời làm proxy ngược cho máy chủ web của bạn. Việc cấu hình nó rất đơn giản. Chỉ chỉ định cổng nào sẽ lắng nghe yêu cầu của khách hàng và quy tắc nào sẽ sử dụng để cân bằng tải. Sau đó, thêm các máy chủ phụ trợ để sử dụng và bạn sẽ thiết lập và chạy proxy ngược của mình. Bài đăng này chia sẻ các bước cần làm theo và trình bày một ví dụ để đảm bảo rằng bạn cảm thấy thoải mái với HAProxy.