Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng

Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng (http://quantrinet.com/forum/index.php)
-   WebServer: Nginx (http://quantrinet.com/forum/forumdisplay.php?f=526)
-   -   Cấu hình Nginx làm Reserve Proxy trên CentOS (http://quantrinet.com/forum/showthread.php?t=9593)

hoctinhoc 10-02-2014 04:58 PM

Cấu hình Nginx làm Reserve Proxy trên CentOS
 


Cấu hình Nginx làm Reserve Proxy trên CentOS




I – Giới thiệu:
http://khanh.com.vn/image.axd?pictur...Logo_thumb.png
Nginx là một máy chủ web (web server), proxy ngược (reserve proxy) và e-mail proxy (IMAP/POP3) nhẹ, hiệu năng cao, sử dụng giấy phép mở BSD. Nginx có thể chạy trên UNIX, Linux, các dòng BSD, Mac OS X, Solaris và Microsoft Windows. Theo thống kê của Netcraft, trong số 1 triệu website lớn nhất thế giới, có 6,52% sử dụng nginx. Tại Nga, quê hương của nginx, có đến 46,9% sử dụng máy chủ này. Nginx chỉ đứng sau Apache và IIS (của Microsoft).
Trên thực tế, số lượng webserver dùng Nginx để chạy website là rất ít, thay vào đó người ta sẽ sử dụng Apache bởi vì Apache tỏ ra tốt hơn Nginx trong việc phục vụ các trang web động (dynamic page). Nhưng vì tính đa dụng nên Apache có rất nhiều thành phần “thừa” khiến cho Web Server của chúng ta trở nên chậm chạp.
Giải pháp đưa ra là chúng ta sẽ sử dụng Nginx để làm proxy ngược. Nginx sẽ chạy ở phía trước (front-end) phục vụ port 80, còn Apache sẽ chạy ở phía sau (back-end) lắng nghe trên port 8080. Các Client truy vấn tới Web Server sẽ theo dạng Client <-----> Nginx <-----> Apache.

Trong bài này, mình sẽ trình bày cách cài đặt và cấu hình Nginx làm Reserve Proxy cho dịch vụ httpd trên hệ điều hành CentOS 6.
II – Yêu cầu:
  • Hệ điều hành CentOS (mình sử dụng bản CentOS 6).
  • Đã cài đặt dịch vụ httpd (tham khảo tại đây).
III – Thực hiện:
Kích hoạt sử dụng lệnh yum tải các gói từ EPEL:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
# yum repolist

Cài đặt Nginx sử dụng lệnh yum
# yum install nginx -y
http://khanh.com.vn/image.axd?pictur...y_01_thumb.png
Cấu hình Reserve Proxy
Tạo file porxy.conf
# vi /etc/nginx/conf.d/proxy.conf
Thêm vào nội dung sau
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;

http://khanh.com.vn/image.axd?pictur...y_02_thumb.png
Mở file nginx.conf
# vi /etc/nginx/nginx.conf
Thêm vào thông tin như sau
server {
listen 80;
server_name khanh.com.vn www.khanh.com.vn;

access_log /var/log/nginx/khanh.com.access.log ;
error_log /var/log/nginx/khanh.com.error.log ;

location / {
proxy_pass
http://192.168.10.109:8080/ ;
include /etc/nginx/conf.d/proxy.conf;
}
}

Trong đó:
  • Listen 80: là port mà Nginx lắng nghe Client.
  • Server_name: Domain của Website
  • Proxy_pass: địa chỉ IP của Web Server kèm Port của httpd
  • Include: trỏ tới tệp tin proxy.conf vừa cấu hình ở trên.
http://khanh.com.vn/image.axd?pictur...y_03_thumb.png
Sau khi sửa xong nội dung file nginx.conf, ta lưu lại và kiểm tra nội dung cấu hình đã chính xác chưa
# nginx -t
http://khanh.com.vn/image.axd?pictur...y_04_thumb.png
Sau đó khởi động lại Nginx
# /etc/init.d/nginx restart
http://khanh.com.vn/image.axd?pictur...y_05_thumb.png
Tiếp tục, ta sẽ cấu hình dịch vụ httpd listen trên cổng 8080
Mở file httpd.conf
vi /etc/httpd/conf/httpd.conf
Sửa giá trị NameVirtualHost*:8080Listen8080
http://khanh.com.vn/image.axd?pictur...y_06_thumb.png
Sau đó ta sẽ khởi động lại dịch vụ httpd
# service httpd restart
Từ client ta truy cập tới Web Server thành công như hình dưới.
http://khanh.com.vn/image.axd?pictur...y_08_thumb.png
Trên Web Server ta kiểm tra lại các port đang Listen được kết quả như hình bên dưới.
# netstat -ltpn | grep 80
http://khanh.com.vn/image.axd?pictur...y_07_thumb.png
Cấu hình Nginx làm Reserve Porxy thành công!


Ngô Duy Khánh – http://Khanh.Com.Vn


Bây giờ là 09:54 AM. Giờ GMT +7

Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.