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

Khác với Apache, Nginx là máy server web phổ cập nhất hiện có. Ngoài việc là 1 trong số máy server web, nó cũng rất có cơ hội rất có cơ hội được sử dụng như 1 trình cân bằng và điều độ tải hoặc reverse proxy. Trong tập huấn này, Kênh Tin TT39 sẽ chỉ cho bạn cách rất có cơ hội sử dụng Nginx làm reverse proxy.

Reverse proxy là gì?

Một proxy server hoạt động giải trí với vai trò trung gian giữa máy khách và máy server khác. Proxy server lấy tài nguyên từ máy server mà bạn muốn kết nối và gửi nó cho bạn để xem. Một reverse proxy hoạt động giải trí theo và một cách, ngoại trừ vai trò bị đảo ngược. Khi bạn chỉ định và chỉ đạo thông tin từ máy server, reverse proxy sẽ ghi lại chỉ định và chỉ đạo và gửi nó đến máy server backend thích đúng theo. Điều này được cho phép quản trị viên khối hệ thống sử dụng máy server cho mạnh phần mềm, cũng giống bảo đảm an toàn luồng lưu lượng truy nhập mềm mịn hơn giữa máy khách và máy server.

Reverse proxy là gì?

Lợi ích của reverse proxy

Tùy thuộc vào phần mềm của chúng ta, bạn rất có cơ hội có các trường đúng theo sử dụng reverse proxy khác nhau.

  • Một reverse proxy được cho phép bạn chạy nhiều phần mềm trên và một máy server – Nếu bạn được hơi nhiều phần mềm tinh chỉnh xe trên và một máy server, tất tật chúng chẳng thể “lắng tai” cùng theo đó trên cổng 80 hoặc 433. Với reverse proxy, bạn rất có cơ hội cấu hình nó để chuyển làn phân cách lưu lượng truy nhập đến các phần mềm riêng lẻ nếu muốn.
  • Cân bằng tải – Nếu được hơi nhiều máy server chạy và một phần mềm, bạn rất có cơ hội sử dụng reverse proxy để phân phối lưu lượng đều cho từng máy server.
  • Tường lửa phần mềm web – Bạn rất có cơ hội sử dụng reverse proxy để ẩn phần mềm của họ và cũng để lọc IP spam hoặc đỡ đần khỏi cuộc tấn công DDOS.
  • Ghi nhật ký và kiểm định thuận lợi – Vì tất tật lưu lượng truy nhập tới được cai trị bởi reverse proxy, nên việc ghi nhật ký và gigiết hại luồng lưu lượng sẽ thuận lợi hơn.

Cấu hình Nginx làm reverse proxy

Để thiết lập Nginx làm reverse proxy, giải bày sẽ sử dụng tham số proxy_pass trong file cấu hình Nginx.

Lưu ý: Hướng dẫn này giả thiết rằng bạn có 1 số trong những kiến ​​thức về Nginx và cũng đã lắp đặt, cũng giống thiết lập Nginx trong máy server của chúng ta.

Trong đông đảo các trường đúng theo sử dụng, Nginx sẽ là máy server front-end, “lắng tai” cổng 80 (HTTP) hoặc 443 (HTTPS) cho các chỉ định và chỉ đạo đến. Vì chỉ rất có cơ hội có 1 chuyên dịch vụ “nghe” trên cổng 80 hoặc 443, phần mềm của chúng ta phải phải “nghe” trên 1 cổng khác, chả hạn như cổng 8081. Cấu hình chỉ là nhất sẽ gần tương tự hệt như lời khẳng đinh thế này:

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

Điều này có có nghĩa là tất tật các chỉ định và chỉ đạo đến myapp.com tại cổng 80 sẽ có chuyển đào bới cổng 8081.

Thiết lập khuếch trương

Ngoài directive proxy_pass, có 1 số trong những directive khác mà bạn rất có cơ hội sử dụng để thiết lập khuếch trương hơn.

  • proxy_set_header – Điều này được cho phép bạn đặt tiêu đề để gửi đến phần mềm nền. Ví dụ, 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 rất có cơ hội đặt tiêu đề proxy cần có để chuyển đến phần mềm, cho nó biết IP chỉ định và chỉ đạo và cái nôi không chạm, sau đó xuất mô tả đích thị cho website chỉ định và chỉ đạo.

  • proxy timeout – Điều này được cho phép bạn đặt độ quý hiếm timeout (thời gian chờ) để gửi và nhận chỉ định và chỉ đạo proxy. Ví dụ:
proxy_connect_timeout 90;  proxy_send_timeout 90;  proxy_read_timeout 90;
  • proxy_buffers – Điều này được cho phép Nginx trợ thời giữ phản hồi của proxy server và chỉ còn gửi đến máy server chỉ định và chỉ đạo khi đã proxy server xong xuôi phản hồi. Ví dụ:
proxy_buffers 32 4k;

Nếu phần mềm của chúng ta gửi 1 số trong những lượng lớn file, thì bạn rất có cơ hội muốn vô hiệu hóa hóa proxy_buffers:

proxy_buffering off;

Như bạn rất có cơ hội thấy, Nginx là 1 trong số máy server reverse proxy có ít nhiều có hiệu quả. Điểm cộng lên đỉnh cao về nó là cấu hình chỉ là, dễ sử dụng và vẫn đồng ý được cho phép bạn lan rộng ra quy mô trong những trường hợp phức tạp hơn. Để hiểu biết thêm còn nữa, bạn rất có cơ hội xem tư liệu mô-đun proxy Nginx (tại https://nginx.org/en/docs/http/ngx_http_proxy_module.html) hoặc các thí dụ cấu hình (tại https://www.nginx.com/resources/wiki/start/topics/examples/full/).

Chúc bạn tiến hành thành công!

Sưu Tầm: Internet – Kênh Tin: TT39