Cách sử dụng Nginx làm reverse proxy

 

>>>Link TẢI XUỐNG TRỰC TIẾP

>>>LINK TẢI NHANH

 5. Link Tải

Không giống như Apache, Nginx là máy chủ web phổ biến nhất hiện có. Nó không chỉ là một máy chủ web mà còn có thể được sử dụng như một bộ cân bằng tải hoặc proxy ngược. Trong hướng dẫn này Làm cho kỹ thuật dễ dàng hơn chỉ cho bạn cách sử dụng Nginx làm proxy ngược.

Proxy ngược là gì?

Máy chủ proxy hoạt động như một trung gian giữa máy khách và máy chủ khác. Máy chủ proxy lấy tài nguyên từ máy chủ bạn muốn kết nối và gửi chúng cho bạn để hiển thị. Một proxy ngược hoạt động giống nhau, ngoại trừ việc các vai trò bị đảo ngược. Khi bạn yêu cầu thông tin từ máy chủ, proxy ngược giữ yêu cầu và gửi nó đến máy chủ back-end thích hợp. Điều này cho phép người quản trị hệ thống sử dụng máy chủ cho nhiều ứng dụng và đảm bảo luồng lưu lượng thông suốt giữa máy khách và máy chủ.

Proxy ngược là gì?

Lợi ích của proxy ngược

Tùy thuộc vào ứng dụng của bạn, bạn có thể có các tình huống khác nhau để sử dụng proxy ngược.

  • Với proxy ngược, bạn có thể chạy nhiều ứng dụng trên cùng một máy chủ Khi nhiều ứng dụng đang chạy trên cùng một máy chủ, tất cả chúng không thể “lắng nghe” trên cổng 80 hoặc 433 cùng một lúc. Với proxy ngược, bạn có thể cấu hình nó để lưu lượng truy cập được chuyển hướng đến ứng dụng riêng lẻ khác nếu cần.
  • Tải chia sẻ Khi nhiều máy chủ đang chạy cùng một ứng dụng, bạn có thể sử dụng proxy ngược để phân phối lưu lượng đồng đều trên mỗi máy chủ.
  • Tường lửa ứng dụng web Bạn có thể sử dụng proxy ngược để ẩn ứng dụng của mình và lọc IP spam hoặc bảo vệ khỏi các cuộc tấn công DDOS.
  • Ghi nhật ký và xem lại dễ dàng Vì tất cả lưu lượng đến đều được quản lý bởi một proxy ngược, nên việc ghi lại và theo dõi luồng lưu lượng sẽ dễ dàng hơn.

Định cấu hình Nginx làm proxy ngược

Để đặt Nginx làm proxy ngược, bài đăng sử dụng tham số proxy_pass trong tệp cấu hình Nginx.

Ghi chú: Hướng dẫn này giả định rằng bạn có kiến ​​thức làm việc về Nginx và đã cài đặt và thiết lập Nginx trên máy chủ của mình.

Trong hầu hết các trường hợp sử dụng, Nginx là máy chủ front-end “chờ” trên cổng 80 (HTTP) hoặc 443 (HTTPS) cho các yêu cầu đến. Vì chỉ có thể có một dịch vụ “lắng nghe” trên cổng 80 hoặc 443, ứng dụng của bạn phải “lắng nghe” một cổng khác, ví dụ: B. Cổng 8081. Cấu hình đơn giản nhất trông giống như sau:

server {
 listen 80;
 listen [::]:80;
 server_name myapp.com;
 location / {
 proxy_pass http://localhost:8081/;
 }
 }

Điều này có nghĩa là tất cả các yêu cầu đều đến myapp.com ở cổng 80 được chuyển hướng đến cảng 8081.

Thiết lập nâng cao

Ngoài chỉ thị proxy_pass, Có một số hướng dẫn khác mà bạn có thể sử dụng để thiết lập nâng cao.

  • proxy_set_header – Bằng cách này, bạn có thể đặt tiêu đề cho ứng dụng nền. Ví dụ, hãy xem cấu hình sau:
proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Bạn có thể đặt tiêu đề proxy cần thiết để gọi ứng dụng, cung cấp địa chỉ IP yêu cầu và địa chỉ từ xa, sau đó xuất nội dung chính xác đến trang web yêu cầu.

  • Thời gian chờ của proxy Điều này cho phép bạn đặt giá trị thời gian chờ để gửi và nhận các yêu cầu proxy. Ví dụ:
proxy_connect_timeout 90;
 proxy_send_timeout 90;
 proxy_read_timeout 90;
  • proxy_buffers Điều này cho phép Nginx tạm thời lưu trữ phản hồi của máy chủ proxy và không gửi đến máy chủ yêu cầu cho đến khi máy chủ proxy hoàn tất phản hồi. Ví dụ:
proxy_buffers 32 4k;

Nếu ứng dụng của bạn đang gửi một số lượng lớn tệp, bạn có thể muốn tắt proxy_buffers:

proxy_buffering off;

Như bạn có thể thấy, Nginx là một máy chủ proxy ngược có nhiều công dụng. Điểm cộng lớn nhất là cấu hình đơn giản và dễ sử dụng, tuy nhiên bạn vẫn có thể mở rộng quy mô trong các tình huống phức tạp hơn. Để biết thêm thông tin, hãy xem tài liệu dành cho mô-đun proxy Nginx (trong https://nginx.org/vi/docs/http/ngx_http_proxy_module.html) hoặc các ví dụ về cấu hình (tại https://www.nginx.com/resources/wiki/start/topics/examples/full/).

Mong bạn thành công.

 5. Link Tải

Add Comment