NGINX SEBAGAI REVERSE PROXY
Nginx (baca: engine x) adalah server HTTP dan reverse proxy gratis berbasis open-source berkemampuan tinggi. Perangkat lunak ini diciptakan oleh Igor Sysoev pada tahun 2002, dan dirilis untuk pertama kalinya secara umum pada tahun 2004. Nginx terkenal karena performanya yang tinggi, stabil, memiliki banyak fitur, mudah dikonfigurasi, dan menggunakan sedikit sumberdaya pada server.
Installasi nginx sebagai reverse proxy dan apache sebagai web server.
Kalau saya sebutkan kata Proxy mungkin yang pertama terlintas dibenak orang kebanyakan adalah server yang berjalan antara komputer kita (client) dan internet. Dan umumnya berfungsi sebagai caching halaman-halaman web yang pernah dikunjungi, pengalokasian bandwidh, atau rule mengenai user, content filtering dan fungsi-fungsi lainnya yang diusung oleh bermacam aplikasi Proxy.
Sebenarnya jenis proxy tersebut adalah Forward Proxy. Sebaliknya, ada jenis Proxy yang berjalan dari sisi lainnya yaitu sisi server, Web Server lebih tepatnya, dan inilah yang dimaksud dengan Reverse Proxy. Pada Reverse Proxy ini, Proxy berada di garda depan menerima Rekues HTTP. Request (umumnya diport 80). Di port 80 Reverse Proxy tidak menggantikan fungsi Web Server, melainkan dia akan melanjutkan rekues HTTP tersebut ke Web Server untuk diolah.
Installasi nginx sebagai reverse proxy dan apache sebagai web server.
Dalam catatan kali ini, mesin yang digunakan CentOS 5.6 (64bit)
.:: install epel
Karena default repo pada mesin tidak ada paket nginx, maka perlu menambahkan EPEL. EPEL (Extra Packages for Enterprise Linux) adalah kumpulan paket-paket rpm dari fedora yang dapat digunakan pada Enterprise Linux yaitu RHEL dan CentOS.
[root@martin.server ~]# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm.:: install nginx[root@martin.server ~]# yum install nginx.:: konfigurasi nginx sebagai reverse proxybuat file reverse proxy[root@martin.server ~]# cd /etc/nginx/conf.d/[root@martin.server conf.d]# nano proxy.conf###isi dari file proxy.confproxy_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;.:: set-up proxy_pass pada vhost / nginx.conf[root@martin.server ~]# cd /etc/nginx/conf.d/[root@martin.server conf.d]# nano namadomain.com.conf###isi dari file namadomain.com.confserver {listen 80;server_name namadomain.com www.namadomain.com;access_log /var/log/nginx/namadomain.com.access.log ;error_log /var/log/nginx/namadomain.com.error.log ;location / {proxy_pass http://10.100.100.99:8080/ ; #ip web serverinclude /etc/nginx/conf.d/proxy.conf;}}.:: testing konfigurasi dan restart nginx[root@martin.server conf.d]# nginx -t[root@martin.server conf.d]# /etc/init.d/nginx restart.:: install rpaf modulemod_rpaf merupakan modul yang diperlukan untuk menerima IP sebenar daripada nginx.Jika tanpa menggunaka module ini, webserver akan menerima ip dari server nginx.[root@martin.server conf.d]# yum install mod_rpaf.x86_64setelah install rpaf, pastikan di konfigurasi httpd.conf module ter-loadLoadModule rpaf_module /usr/lib64/httpd/modules/mod_rpaf-2.0.sokonfigurasi httpd.conf untuk menggunakan reverse proxy nginxListen 8080.:: enable rpaf module pada vhost apache[root@server01 ~]# nano /etc/httpd/conf/httpd.conf### add these line in VirtualHost configurationRPAFenable OnRPAFsethostname OnRPAFproxy_ips 10.100.100.99 ### can use multiple IP address.:: restart apache[root@server01 ~]# /etc/init.d/httpd restart.:: cek port[root@server01 ~]# netstat -tlnup |grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7640/nginx.conftcp 0 0 :::8080 :::* LISTEN 7654/httpdtestingakses namadomain.com, seharusnya menunjukkan halaman dari apache, bukan halaman nginx.
bila ada kekurangan, mohon dikasih masukan. Terimakasih :)
Tidak ada komentar:
Posting Komentar