Custom Error Page Settings via NGINX Balancer

ເມື່ອເກີດຂໍ້ຜິດພາດພາຍໃນ environment (ເຊັ່ນ ເມື່ອພະຍາຍາມເຂົ້າເຖິງໜ້າທີ່ບໍ່ມີຢູ່) ໜ້າ error ໂດຍຄ່າເລີ່ມຕົ້ນສໍາລັບເຊີບເວີຈະປະກົດ ຕົວຢ່າງເຊັ່ນ:

ທ່ານສາມາດແທນທີ່ໜ້າ error ນີ້ໂດຍການກໍານົດເອງເພື່ອໃຫ້ຜູ້ໃຊ້ປາຍທາງໄດ້ຮັບຄໍາແນະນໍາທີ່ເຈາະຈົງຫຼາຍຂຶ້ນ ແລະ ໃສ່ອີເມວໄວ້ເພື່ອຕິດຕໍ່ທ່ານ ໃນສ່ວນລຸ່ມນີ້ເຮົາຈະສະແດງວິທີກໍານົດໜ້າ errorດ້ວຍຕົນເອງໂດຍໃຊ້ NGINX load balancer ທີ່ເພີ່ມໃນ environment ຂອງທ່ານ

1. ໄປທີ່ Huk-Com Cloud Dashboard ແລ້ວຊອກ NGINX load balancer ໃນ env ຂອງທ່ານຈາກນັ້ນຄຼິກປຸ່ມ Config

2. ໃນແທັບ Configuration manager ທີ່ເປີດຢູ່ໄປທີ່ໂຟລເດີ /etc/nginx/conf.d ແລະ ສ້າງ ຫຼື ອັບໂຫຼດໜ້າ error ທີ່ທ່ານກໍານົດເອງ

3. ສໍາລັບຄູ່ມືນີ້ເຮົາຈະໃຊ້ໄຟລ error.html ຕໍ່ໄປນີ້:

4. ຈາກນັ້ນໄປທີ່ໄດເຣັກທໍຣີ /etc/nginx ແລະ ຄັດລອກເນື້ອໃນຂອງໄຟລ nginx-jelastic.conf ວາງລົງໃນ nginx.conf ໂດຍແທນທີ່ໄຟລ include /etc/nginx/nginx-jelastic.conf; (ວົງມົນຢູ່ໃນຮູບດ້ານລຸ່ມ)

ຕອນນີ້ທ່ານສາມາດລະບຸການກໍານົດຄ່າທີ່ຈໍາເປັນທັງໝົດໄດ້

5. ຊອກສ່ວນຂອງເຊີບເວີເພື່ອວາງການກໍານົດຄ່າ ແລະ ແທນທີ່ການຕັ້ງຄ່າ error_page ເລີ່ມຕົ້ນດ້ວຍສະຕຣິງຕໍ່ໄປນີ້:

error_page 403 404 500 502 503 504 /error.html;
proxy_intercept_errors on;

6. ຫຼັງຈາກນັ້ນເລື່ອນລົງມາເລັກໜ້ອຍເພື່ອປັບປ່ຽນໜ້າ error ພາຣາມິເຕີໃນສ່ວນຍ່ອຍຂອງ location:

location /error.html {
    root   /etc/nginx/conf.d;
    internal;
}

location / {
    if ($cookie_SRVGROUP ~ group|common) {
        proxy_pass http://$cookie_SRVGROUP;
        error_page 403 404 500 502 503 504 = /error.html;
    }
    if ($cookie_SRVGROUP !~ group|common) {
        add_header Set-Cookie "SRVGROUP=$group; path=/";
    }
    proxy_pass http://default_upstream;
    add_header Set-Cookie "SRVGROUP=$group; path=/";
}

location @rescue {
    proxy_pass http://$cookie_SRVGROUP;
    error_page   500 502 503 504 = error.html;
}

location @recycle {
    proxy_pass http://default_upstream;
    add_header Set-Cookie "SRVGROUP=$group; path=/";
}

7.ໃນກໍລະນີທີ່ເວັບໄຊ້ຂອງທ່ານໃຊ້ SSL (ເຊັ່ນ ສໍາລັບການເຊື່ອມຕໍ່ຜ່ານ HTTPS) ຈໍາເປັນຕ້ອງກໍານົດຄ່າເພີ່ມເຕີມບາງຢ່າງ(ບໍ່ດັ່ງນັ້ນຈະໄປທີ່ຂໍ້ 9) ເພີ່ມວັກຕໍ່ໄປນີ້ໃນສ່ວນເຊີບເວີຊອງໄຟລ /etc/nginx/conf.d/ssl.conf:

proxy_intercept_errors on;
location /error.html {
                    root   /etc/nginx/conf.d;
 }

8. ທ່ານຕ້ອງປັບໄຟລ /etc/nginx/conf.d/ssl.upstreams.inc ຫາເງື່ອນໄຂຕໍ່ໄປນີ້ແລ້ວປ່ຽນແປງດັ່ງນີ້:

if ($cookie_SRVGROUP ~ group|common) {
                   proxy_pass http://$cookie_SRVGROUP;
                   error_page 403 404 /error.html;
                   error_page   500 502 503 504 = @resque;
}

9. ຢ່າລືມຣີສະຕາດ NGINX server ເພື່ອໃຊ້ການປ່ຽນແປງ

10. ລອງເຂົ້າໜ້າທີ່ບໍ່ມີຢູ່ໃນໂດເມນຂອງທ່ານ

ໝາຍເຫດ: ຫາກເຊີບເວີທີ່ມີໜ້າ error ແບບກໍານົດເອງທີ່ກໍານົດຄ່າໄວ້ລ່ວງໜ້າ ຫຼື environment ທັງໝົດບໍ່ສາມາດເຂົ້າເຖິງໜ້າ error ໄດ້ ແພຼັດຟອມຈະສະແດງໜ້າ error ເລີ່ມຕົ້ນເຊັ່ນ:



ທ່ານບໍ່ສາມາດແກ້ໄຂການແຈ້ງເຕືອນນີ້ສໍາລັບ environment ຂອງທ່ານ