ການຕັ້ງຄ່າຄວາມສົມດຸນຂອງເວບເຊີເວີ້ໂດຍໃຊ້ POUND ໃນ RHEL/CentOS


POUND ແມ່ນໂຄງການດຸ່ນດ່ຽງການໂຫຼດທີ່ພັດທະນາໂດຍບໍລິສັດ ITSECURITY. ມັນເປັນເຄື່ອງມືເປີດຕົວໂປແກຼມຕົວແທນແບບເປີດທີ່ມີນ້ ຳ ໜັກ ເບົາເຊິ່ງສາມາດໃຊ້ເປັນຕົວຄວບຄຸມເວບໄຊທ໌ຂອງເຊີຟເວີເພື່ອແຈກຢາຍພາລະໃນບັນດາຫລາຍເຊີບເວີ. POUND ມີຂໍ້ດີຫຼາຍຢ່າງໃຫ້ແກ່ຜູ້ໃຊ້ທີ່ມີຄວາມສະດວກແລະເຮັດວຽກທີ່ຖືກຕ້ອງ.

<

  • ສະ ໜັບ ສະ ໜູນ ເຈົ້າພາບເສມືນ.
  • ຕັ້ງຄ່າໄດ້.
  • ເມື່ອເຄື່ອງແມ່ຂ່າຍ backend ລົ້ມເຫລວຫລືກູ້ຄືນຈາກຄວາມລົ້ມເຫລວ, ມັນຈະກວດພົບມັນໂດຍອັດຕະໂນມັດແລະອີງໃສ່ການຕັດສິນໃຈດຸ່ນດ່ຽງການໂຫຼດຂອງມັນໂດຍອີງຕາມນັ້ນ.
  • ມັນປະຕິເສດ ຄຳ ຮ້ອງຂໍທີ່ບໍ່ຖືກຕ້ອງ.
  • ບໍ່ມີໂປແກຼມທ່ອງເວັບຫລືເວບໄຊທ໌ທີ່ລະບຸ.
  • ລອງພິຈາລະນາເບິ່ງວ່າຈະເຮັດແນວໃດເພື່ອໃຫ້ການ hack ນີ້ ສຳ ເລັດໄດ້.

    ກ່ອນອື່ນ ໝົດ ທ່ານ ຈຳ ເປັນຕ້ອງມີສະຖານະການເພື່ອໃຫ້ມີຄວາມເຂົ້າໃຈດີຂື້ນກ່ຽວກັບການເຮັດສິ່ງນີ້. ສະນັ້ນຂ້ອຍຈະໃຊ້ສະຖານະການທີ່ມີສອງ webservers ແລະ server server ປະຕູ ໜຶ່ງ ເຊິ່ງ ຈຳ ເປັນຕ້ອງມີຄວາມສົມດຸນກັບການຮ້ອງຂໍທີ່ມາກັບ server gateway ກັບ webservers.

    Pound Gateway Server : 172.16.1.222
    Web Server 01 : 172.16.1.204
    Web Server 02 : 192.168.1.161
    

    ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງ Balancer Balancer ໃນ Gateway Server

    1. ວິທີທີ່ງ່າຍທີ່ສຸດໃນການຕິດຕັ້ງ Pound ແມ່ນການ ນຳ ໃຊ້ຊຸດ RPM ທີ່ຖືກລວບລວມ, ທ່ານສາມາດຊອກຫາ RPMs ສຳ ລັບການແຈກຈ່າຍທີ່ອີງໃສ່ RedHat ທີ່:

    <

  • http://www.invoca.ch/pub/packages/pound/
  • ອີກທາງເລືອກ ໜຶ່ງ, ປອນສາມາດຕິດຕັ້ງໄດ້ງ່າຍຈາກຫໍໄຕ EPEL ດັ່ງຮູບຂ້າງລຸ່ມນີ້.

    # yum install epel-release
    # yum install Pound
    

    ຫຼັງຈາກ Pound ຕິດຕັ້ງແລ້ວ, ທ່ານສາມາດກວດສອບໄດ້ວ່າມັນຖືກຕິດຕັ້ງໂດຍການອອກ ຄຳ ສັ່ງນີ້.

    # rpm –qa |grep Pound
    

    2. ອັນທີສອງ, ທ່ານຕ້ອງການເຄື່ອງແມ່ຂ່າຍເວັບໄຊທ໌ສອງເພື່ອດຸ່ນດ່ຽງການໂຫຼດແລະໃຫ້ແນ່ໃຈວ່າທ່ານມີຕົວລະບຸຕົວຕົນທີ່ຈະແຈ້ງເພື່ອທົດສອບການຕັ້ງຄ່າປອນເຮັດວຽກໄດ້ດີ.

    ນີ້ຂ້ອຍມີສອງເຊີບເວີທີ່ມີທີ່ຢູ່ IP 172.16.1.204 ແລະ 192.168.1.161.

    ເພື່ອຄວາມສະດວກໃນການໃຊ້ງານ, ຂ້ອຍໄດ້ສ້າງ python SimpleHTTPServer ເພື່ອສ້າງ webserver ທັນທີໃນທັງສອງເຊີບເວີ. ອ່ານກ່ຽວກັບ python SimpleHTTPServer

    ໃນສະຖານະການຂອງຂ້ອຍ, ຂ້ອຍມີ webserver01 ແລ່ນໃນວັນທີ 172.16.1.204 ຜ່ານພອດ 8888 ແລະ webserver02 ແລ່ນໃນ 192.168.1.161 ຜ່ານພອດ 5555.

    ຂັ້ນຕອນທີ 2: ຕັ້ງຄ່າ Balancer Pound Load

    3. ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ຈະເຮັດການຕັ້ງຄ່າໃຫ້ ສຳ ເລັດ. ເມື່ອທ່ານໄດ້ຕິດຕັ້ງປອນ ສຳ ເລັດແລ້ວ, ມັນຈະສ້າງເອກະສານ config ຂອງ pound ໃນ/etc, ຄື pound.cfg .

    ພວກເຮົາຕ້ອງແກ້ໄຂລາຍລະອຽດຂອງ server ແລະ backend ເພື່ອໃຫ້ສົມດຸນການໂຫຼດລະຫວ່າງ webservers. ໄປທີ່/etc ແລະເປີດເອກະສານ pound.cfg ເພື່ອແກ້ໄຂ.

    # vi /etc/pound.cfg
    

    ເຮັດການປ່ຽນແປງຕາມທີ່ແນະ ນຳ ຂ້າງລຸ່ມນີ້.

    ListenHTTP
        Address 172.16.1.222
        Port 80
    End
    
    ListenHTTPS
        Address 172.16.1.222
        Port    443
        Cert    "/etc/pki/tls/certs/pound.pem"
    End
    
    Service
        BackEnd
            Address 172.16.1.204
            Port    8888
        End
    
        BackEnd
            Address 192.168.1.161
            Port    5555
        End
    End
    

    ນີ້ແມ່ນວິທີທີ່ເອກະສານ pound.cfg ຂອງຂ້ອຍເບິ່ງ.

    ພາຍໃຕ້ແທັບ“ ListenHTTP” ແລະ“ ListenHTTPS”, ທ່ານຕ້ອງໃສ່ທີ່ຢູ່ IP ຂອງເຊີບເວີທີ່ທ່ານໄດ້ຕິດຕັ້ງ POUND.

    ໂດຍຄ່າເລີ່ມຕົ້ນ server ຈະຈັດການການຮ້ອງຂໍ HTTP ເຖິງວ່າ port 80 ແລະ HTTPS ຮ້ອງຂໍຜ່ານ port 443. ພາຍໃຕ້ແທັກ“ ບໍລິການ”, ທ່ານສາມາດເພີ່ມ ຈຳ ນວນແທັກຍ່ອຍອື່ນໆທີ່ເອີ້ນວ່າ“ BackEnd”. ປ້າຍຊື່ BackEnd ມີທີ່ຢູ່ IP ແລະ ໝາຍ ເລກພອດທີ່ຕົວ ກຳ ລັງຂອງເຄືອຂ່າຍ ກຳ ລັງແລ່ນຢູ່.

    ປະຈຸບັນບັນທຶກເອກະສານຫຼັງຈາກແກ້ໄຂມັນຖືກຕ້ອງແລະເລີ່ມການບໍລິການ POUND ໂດຍການອອກ ຄຳ ສັ່ງ ໜຶ່ງ ລຸ່ມນີ້.

    # /etc/init.d/pound restart 
    OR
    # service pound restart
    OR
    # systemctl restart pound.service
    

    4. ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ຕ້ອງກວດສອບ. ເປີດສອງຕົວທ່ອງເວັບເພື່ອກວດເບິ່ງວ່າການຕັ້ງຄ່າຂອງພວກເຮົາເຮັດວຽກໄດ້ດີຫລືບໍ່. ໃນແຖບທີ່ຢູ່ພິມທີ່ຢູ່ IP ຂອງປະຕູ POUND ຂອງທ່ານແລະເບິ່ງທີ່ປະກົດຂຶ້ນ.

    ຄຳ ຮ້ອງຂໍ ທຳ ອິດຄວນໂຫລດ webserver01 ທຳ ອິດແລະ ຄຳ ຮ້ອງຂໍທີສອງຈາກ browser ອື່ນໆຄວນໂຫລດ webserver02 ທີສອງ.

    ຍິ່ງໄປກວ່ານັ້ນ, ຄິດເຖິງສະຖານະການທີ່ຄ້າຍຄືກັບວ່າທ່ານມີເຄື່ອງຈັກເວບໄຊທ໌ສອງຄົນທີ່ສາມາດດຸ່ນດ່ຽງໄດ້ແລະ ໜຶ່ງ ໃນການເຮັດວຽກຂອງເຊີບເວີແມ່ນດີແລະຜົນງານຂອງຄົນອື່ນກໍ່ບໍ່ດີປານໃດ.

    ດັ່ງນັ້ນເມື່ອການດຸ່ນດ່ຽງການດຸ່ນດ່ຽງໃນບັນດາພວກມັນ, ທ່ານຈະຕ້ອງໄດ້ພິຈາລະນາວ່າເຄື່ອງແມ່ຂ່າຍໃດທີ່ທ່ານຕ້ອງໃສ່ນ້ ຳ ໜັກ ຫຼາຍ. ແນ່ນອນ ສຳ ລັບເຊີເວີທີ່ມີສະເປັກທີ່ມີປະສິດຕິພາບດີ.

    ເພື່ອດຸ່ນດ່ຽງການໂຫຼດເຊັ່ນນັ້ນ, ທ່ານພຽງແຕ່ຕ້ອງເພີ່ມພາລາມິເຕີດຽວພາຍໃນເອກະສານ pound.cfg . ລອງເບິ່ງມັນ.

    ຄິດວ່າເຊີບເວີ 192.168.1.161:5555 ແມ່ນເຊີເວີ້ທີ່ດີກວ່າ. ຫຼັງຈາກນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງໃສ່ການຮ້ອງຂໍຫຼາຍຂື້ນໃຫ້ກັບເຄື່ອງແມ່ຂ່າຍນັ້ນ. ພາຍໃຕ້ແທັກ“ BackEnd” ທີ່ ກຳ ນົດໄວ້ ສຳ ລັບ 192.168.1.161 server, ເພີ່ມພາລາມິເຕີ“ ບຸລິມະສິດ” ກ່ອນປ້າຍສຸດທ້າຍ.

    ເບິ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້.

    ຊ່ວງທີ່ພວກເຮົາສາມາດໃຊ້ ສຳ ລັບພາລາມິເຕີ "ບຸລິມະສິດ" ແມ່ນຢູ່ລະຫວ່າງ 1-9. ຖ້າພວກເຮົາບໍ່ ກຳ ນົດມັນ, ຄ່າເລີ່ມຕົ້ນຂອງ 5 ຈະຖືກມອບ ໝາຍ.

    ຫຼັງຈາກນັ້ນການໂຫຼດກໍ່ຈະມີຄວາມສົມດຸນກັນ. ຖ້າພວກເຮົາ ກຳ ນົດ ຈຳ ນວນບຸລິມະສິດ, POUND ຈະໂຫລດ server ດ້ວຍ ຈຳ ນວນບູລິມະສິດທີ່ສູງກວ່າເລື້ອຍໆ. ສະນັ້ນໃນກໍລະນີນີ້, 192.168.1.161:5555 ຈະຖືກໂຫຼດເລື້ອຍໆກ່ວາ server 172.16.1.204:8888.

    ຂັ້ນຕອນທີ 3: ການວາງແຜນການແບ່ງແຍກສຸກເສີນ

    ປ້າຍສຸກເສີນ: ປ້າຍນີ້ຖືກໃຊ້ໃນການໂຫຼດເຊີບເວີໃນກໍລະນີທີ່ເຄື່ອງແມ່ຂ່າຍຂອງ back-back ທັງ ໝົດ ແມ່ນຕາຍ. ທ່ານສາມາດຕື່ມໃສ່ມັນກ່ອນແທັກ End ສຸດທ້າຍຂອງ pound.cfg ດັ່ງຕໍ່ໄປນີ້.

    “Emergency
               Address 192.168.5.10
               Port        8080
       End”
    

    6. POUND ສະເຫມີຕິດຕາມວ່າເຄື່ອງແມ່ຂ່າຍ backend ມີຊີວິດຢູ່ແລະບໍ່ແມ່ນ. ພວກເຮົາສາມາດ ກຳ ນົດໄດ້ຫລັງຈາກຈັກວິນາທີທີ່ POUND ຄວນຈະເຊັກເອົາເຊີບເວີຂອງ backend ໂດຍເພີ່ມຕົວ "Alive" ໃນ pound.cfg.

    ທ່ານສາມາດໃຊ້ພາລາມິເຕີທີ່ເປັນ "Alive 30" ເພື່ອ ກຳ ນົດ 30 ວິນາທີ. ປອນຈະປິດການໃຊ້ງານຊົ່ວຄາວຂອງເຄື່ອງແມ່ຂ່າຍ backend ທີ່ບໍ່ຕອບສະ ໜອງ. ໃນເວລາທີ່ພວກເຮົາເວົ້າວ່າການບໍ່ຕອບສະ ໜອງ server ອາດຈະຕາຍຫຼືບໍ່ສາມາດສ້າງການເຊື່ອມຕໍ່ໃນເວລານັ້ນ.

    POUND ຈະກວດສອບເຊີບເວີ backend ທີ່ພິການຫຼັງຈາກທຸກໆໄລຍະເວລາທີ່ທ່ານໄດ້ ກຳ ນົດໄວ້ໃນເອກະສານ pound.cfg ໃນກໍລະນີຖ້າ server ສາມາດສ້າງການເຊື່ອມຕໍ່ໄດ້, POUND ສາມາດກັບມາໃຊ້ງານກັບ server ໄດ້.

    7. daemon POUND ຈະຖືກຈັດການໂດຍ ຄຳ ສັ່ງ poundctl. ໂດຍການທີ່ພວກເຮົາບໍ່ ຈຳ ເປັນຕ້ອງແກ້ໄຂເອກະສານ pound.cfg ແລະພວກເຮົາສາມາດອອກບັນຊີ Server, BackEnd server ແລະ session. ຜ່ານ ຄຳ ສັ່ງດຽວ.

    Syntax: poundctl -c /path/to/socket [-L/-l] [-S/-s] [-B/-b] [-N/-n] [-H] [-X]
    

    <

  • -c ກຳ ນົດເສັ້ນທາງສູ່ຊັອກເກັດຂອງທ່ານ.
  • -L/-l ກຳ ນົດຜູ້ຟັງຂອງສະຖາປັດຕະຍະ ກຳ ຂອງທ່ານ.
  • -S/-s ກຳ ນົດການບໍລິການ.
  • -B/-b ກຳ ນົດເຄື່ອງແມ່ຂ່າຍຂອງ backend.
  • ເບິ່ງ ໜ້າ ເພີ່ມເຕີມຂອງ ໜ້າ ເຈ້ຍ poundctl.

    ຫວັງວ່າທ່ານຈະເພີດເພີນກັບການລັກລອບນີ້ແລະຄົ້ນພົບຕົວເລືອກເພີ່ມເຕີມກ່ຽວກັບເລື່ອງນີ້. ໃຫ້ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ ສຳ ລັບ ຄຳ ແນະ ນຳ ແລະແນວຄວາມຄິດໃດໆ. ຕິດຕໍ່ກັບ Tecmint ເພື່ອໃຊ້ໄດ້ງ່າຍແລະລ້າສຸດ How To's.