[Apache] Hướng dẫn cài đặt module mod_rpaf trên Apache 2.2.x

Sau khi đọc xong bài viết này, bạn sẽ biết ‘mod_rpaf‘ là gì ? và cách cài đặt module mod_rpaf cho Apache 2.2.x.

Rpaf‘ nghĩa là ‘reverse proxy add forward‘, là một module thiết kế cho web server Apache đang đóng vai trò backend upstream. Module này giúp ích rất nhiều cho bạn, khi mà bạn có sử dụng các dịch vụ Proxy front end như Varnish hoặc Nginx thực hiện forward request HTTP qua Apache backend, trong việc lấy thông tin IP chính xác của client gửi đến backend server thông qua Proxy reverse.

Module mod_rpaf cho Apache lấy ip thật từ reverse proxy.

Nếu bạn không cài đặt những module như thế này, thì khi bạn xem log của Apache, bạn sẽ chỉ thấy mỗi IP của Reverse Proxy Server thôi, không tài nào thấy được IP thật sự của người dùng truy cập vào.

Cụ thể hơn là Apache sẽ tiếp nhận request HTTP với thông tin IP là của Reverse Proxy Server. Điều này sẽ gây khá nhiều khó khăn nếu bạn có nhu cầu debug vấn đề phát sinh từ lưu lượng truy cập vào website hoặc kiểm soát HTTP Request theo ý muốn.

Lưu ý:
– Module ‘mod_rpaf‘ chỉ sử dụng cho server Apache phiên bản 2.2.x , nếu bạn muốn cài đặt chức năng hiển thị thông tin IP thật từ Reverse Proxy cho Apache phiên bản 2.4.x thì bạn cần cài đặt module ‘mod_remoteip‘.

1. Cài đặt module Mod_rpaf cho Apache

Bản dev gốc của ‘mod_rpaf‘ : https://github.com/gnif/mod_rpaf
Bản dev cải tiến của ‘mod_rpaf‘ bởi tác giả khác : https://github.com/y-ken/mod_rpaf
Mình sẽ sử dụng bản thứ 2 vì được đánh giá có sự thay đổi được tác giả thứ 2 thực hiện tốt hơn bản gốc. Giờ thì tiến hành cài đặt thôi.

– Bạn SSH vào hệ thống và thực hiện hoạt động download source về.

# cd /usr/local/src
# wget https://github.com/y-ken/mod_rpaf/archive/master.zip
# unzip master.zip

 
– Tiến hành cài đặt module mod_rpaf nào.

# cd mod_rpaf-master/
# apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

 
Lưu ý:
– Chương trình ‘apxs‘ thuộc mã nguồn Apache đã được cài đặt trên hệ thống, chương trình này sẽ giúp cài đặt tích hợp các module Apache và thực hiện cấu hình load module tương ứng.
– Các đường dẫn chương trình Apache sử dụng trong bài viết là đường dẫn mặc định khi biên dịch cài đặt Apache.

– Sau khi cài đặt xong thì module này sẽ xuất hiện ở đường dẫn :

/usr/local/apache/modules/mod_rpaf-2.0.so

2. Cấu hình module mod_rpaf

– Giờ ta tiến hành cấu hình để load module mod_rpaf và cấu hình cho hoạt động của module này. Thêm nội dung

# vi /usr/local/apache/conf/httpd.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so

<IfModule mod_rpaf-2.0.c>
   RPAFenable On
   RPAFsethostname On
   RPAFproxy_ips 192.168.1.100 127.0.0.1
   RPAFheader X-Forwarded-For
   RPAFsethttps On
   RPAFsetport Off
</IfModule>

 
Lưu ý cấu hình:
RPAFenable : kích hoạt chức năng rpaf.
RPAFproxy_ips : ip của server reverse proxy đến Apache backend, nếu bạn cài đặt reverse proxy trên cùng 1 server/vps thì IP này chính là IP public/local của server hiện tại.
RPAFheader : phụ thuộc vào Header HTTP mà bạn set ở phía reverse proxy nhằm cung cấp thông tin các IP thật đã đi qua proxy, thường là header X-Forwarded-For.
  
– Khởi động lại dịch vụ Apache.

# service httpd restart

– Bây giờ bạn thử truy cập từ Reverse proxy vào Apache backend rồi xem log tương ứng domain đang hoạt động trên Apache và ReverseProxy sẽ nhận được thông tin về IP thật bên ngoài truy cập vào.

3. Kết luận

Các bạn thấy đấy, việc cài đặt module ‘mod_rpaf‘ khá là nhanh và cực kì đơn giản. Điều này hỗ trợ bạn rất nhiều để lấy thông tin địa chỉ IP thật nếu Web Server bạn phải đứng sau 1 Reverse Proxy Server khác. Hy vọng bài viết giúp ích được cho các bạn.

Previous article[Server] Hướng dẫn sử dụng tool ‘hpasmcli’ quản lý thông tin Server HP
Next article[Linux] Hướng dẫn nén file và giải nén file bằng ‘bzip2’ trên Linux
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !