Posts tagged ftp

How to redirect http request to ftp using nginx

nyoba nulis pake bahasa inggris ah…

Nginx is rocks!! i use nginx as main web server at mirror.unej.ac.id, and i’m so glad because all request from client while downloading iso/img via http files is now redirected to ftp. how can it work? just open nginx configuration at /etc/nginx/sites-available/default with your editor and add some configuration under location / {blah blah}

$ sudo pico /etc/nginx/sites-available/default

add this

rewrite ^/(.+\.(img|iso))$ ftp://mirror.unej.ac.id/$1 permanent;

and see this..

fallen:~$ rm moblin-2.1-final-20091103-002.img
fallen:~$ wget http://mirror.unej.ac.id/pub/iso/moblin/releases/2.1/images/moblin-2.1-final-20091103-002.img
--2009-11-28 22:09:01--  http://mirror.unej.ac.id/pub/iso/moblin/releases/2.1/images/moblin-2.1-final-20091103-002.img
Connecting to 10.10.3.243:3128... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: ftp://mirror.unej.ac.id/pub/iso/moblin/releases/2.1/images/moblin-2.1-final-20091103-002.img [following]
--2009-11-28 22:09:01--  ftp://mirror.unej.ac.id/pub/iso/moblin/releases/2.1/images/moblin-2.1-final-20091103-002.img
Connecting to 10.10.3.243:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 790626304 (754M) [text/plain]
Saving to: `moblin-2.1-final-20091103-002.img'

100%[===================================================================================================>] 790,626,304 6.97M/s   in 90s     

2009-11-28 22:10:31 (8.39 MB/s) - `moblin-2.1-final-20091103-002.img' saved [790626304/790626304]
fallen:~$ wget http://mirror.unej.ac.id/pub/iso/ZoneCD/zoneCD_1.2-7.iso
--2009-11-28 22:26:39--  http://mirror.unej.ac.id/pub/iso/ZoneCD/zoneCD_1.2-7.iso
Connecting to 10.10.3.243:3128... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: ftp://mirror.unej.ac.id/pub/iso/ZoneCD/zoneCD_1.2-7.iso [following]
--2009-11-28 22:26:46--  ftp://mirror.unej.ac.id/pub/iso/ZoneCD/zoneCD_1.2-7.iso
Connecting to 10.10.3.243:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 258668544 (247M) [text/plain]
Saving to: `zoneCD_1.2-7.iso'

100%[===================================================================================================>] 258,668,544 8.02M/s   in 59s     

2009-11-28 22:27:54 (4.15 MB/s) - `zoneCD_1.2-7.iso' saved [258668544/258668544]

fallen:~$

It’s Works bibeh!

Down!

aneh belakangan ini si mirror sering down! saya lihat proses nya tidak terlalu berat, lalu? terakhir saya lihat salah satu disk nya ada yang corrupt, sepertinya di partisi swap. mengingat saat terakhir kemarin saya lihat di log menandakan kalo swap “aneh” enggak tau lah itu bahasanya gimana :D

Solusi ke depan adalah saya dan agus akan memisahkan traffic rsync dan ftp ke fileserver02 alias jayawijaya, sedang traffic http masih tetap di mesin utama (fileserver00 alias ijen). ini bertujuan agar supaya si mirror ini terkurangi bebannya, ini saya ilhami dari server debian di swedia.

Di balik mirroring (1) dari (entah) berapa tulisan

Disadari atau tidak saya mendapat pengalaman yang banyak dalam membuat mirror.unej.ac.id, nah salah satu yang buat saya selalu ingat adalah waktu yang saya habiskan demi membaca ulang manual Apache (entah berapa halaman!). ada apa dengan apache? seperti yang kita tau, teman kita dari kambing dan buaya pernah mengeluhkan user yang ga tau diri dengan mendownload sebuah file dari server mirror dengan koneksi yang banyak (atau menggunakan Download Manager), nah sedang si user itu menggunakan koneksi lambat! masih belum mudeng? baiklah ada contoh begini. sek…sek.. ini pengalaman saya juga :D

Koneksi pak surip adalah 128kbps, di ingin mendownload dvd repository ubuntung nah cobak tebak berapa hari dia akan selesai mendownload dvd repository ubuntu? nah pak surip ini memang keterlaluan, waktu download dia menggunakan IDM (atau apalah!) dengan maxkoneksi 128 saluran. nah sedang si mirror ini punya koneksi maximal koneksi 250 (default apache2) berarti saluran di koneksi tinggal 250-128=? lha terus user lain gimana nasibnya cobak? ilfiil ga kalo gini? nah ini yang sempat terbawa sampe mimpi (halah!) hehehehe

saya googling sampe ujung amrik, alhamdulillah akhirnya nemu modul apache2 yang bagus yaitu mod-limitipconn, lha tapi si modul ini menurut saya sering over acting dalam mereject koneksi, alhasil saya sendiri sering menemukan halaman SERVICES TEMPORARY UNAVALIABLE aka STU!. lah kok :(   ya sudah akhirnya ngoprek lagi modul lain, alhasil saya nemuin modul yang lumayan bagus yaitu mod_bw dan ada lagi mod_cband tapi saya ga pake cband :D

nah pengaturanya gimana? sebentar saya login dulu ke mirror :D

# aktifkan module
BandwidthModule On
#batesi 10 ae rek!
MaxConnection all 10
# contoh dari jaringan ini unlimitted download :D
MaxConnection 192.168.1.0/24 0
#Bandwidth all 20240
# file > 70MB di limit 700kbps
LargeFileLimit * 650000 70000
# file iso di limit 700kbps
LargeFileLimit .iso 1 70000
BandWidth 192.168.1.0/24 0

Alhamdulillah sudah tidak penuh lagi :D *joged pisang*

lha kalo ftp? nah ini, kalau menggunakan vsftpd bisa (tapi lupa), proftpd bisa. kalo pake proftpd ini caranya:

# you may not like the bandwidth control below
# TransferRate RETR|STOR|APPE|STOU KBrate:freebytes
#TransferRate RETR 10:0

silakan isi nilai nya sesuka anda :D lumayan lah bisa melindungi user lain dari “ketamakan” user lain juga

**episode ke dua saya ga tau mau nulis apa :p enaknya apa?**

mirror.UNEJ.ac.id sekarang sudah masuk daftar Mirror Debian

yak, hari itu mirror.UNEJ.ac.id telah masuk di daftar mirror debian, dan tentunya si kebo tidak sendirian lagi di daftar mirror Debian. Prosesi yang panjang dan teliti dilakukan oleh pihak tim debian-mirror dan alhamdulillah kami lalui dengan selamat :D . sewaktu saya mendaftarkan mirror ini, ternyata tim Debian mirror meminta kami untuk memakai script officialnya. ini membuat kami cukup bingung karena script yang kami gunakan selama ini (sedot) sudah cukup mumpuni. ya sudahlah akhirnya di gabungin saja antara sedot dan officialnya dan hasilnya mengagumkan!

Sebenarnya kenapa kami tidak mendaftarkan ke official mirror sekalian? jikalau dihitung-hitung jika menjadi official kami akan mendapat hak url ftp.id.debian.org, namun tentu saja harus menggunakan motode yang belawanan juga dari yang sekarang ini dilakukan. Namun alasan di balik itu semua adalah Keterbatasan saya dan teman saya (ilmunya) hehehehe. tapi itu tidak masalah bagi tim Unej untuk terus berkarya

Dan tak lupa termakasih selalu kami ucapkan kepada:

  • UPT-Teknologi Informasi yang telah menyediakan bandwidth, server dan hardisk
  • Pak Slamin, Pak Maududie, Pak Anang, Pak Kahar dan lainya yang telah mengajari kami netwoking dan linux
  • Mas Fajran yang membuat sedot
  • dan teman saya Ashadebi
  • dan semua user Debian yang telah mengilhami pembuatan repository debian
  • oh iyah, dan yang satunya lagi…. :D