{"id":6153,"date":"2019-01-04T17:28:15","date_gmt":"2019-01-04T08:28:15","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=6153"},"modified":"2025-09-25T14:35:09","modified_gmt":"2025-09-25T05:35:09","slug":"can-bang-tai","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/vi\/manual\/camserver\/load-balancing","title":{"rendered":"T\u00ednh n\u0103ng d\u1ef1 ph\u00f2ng\/c\u00e2n b\u1eb1ng t\u1ea3i c\u1ee7a CAMServer"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><style type=\"text\/css\"><!--\ntable, th, td {\n    border: none !important;\n}\n--><\/style><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">V\u1ec1 v\u1ea5n \u0111\u1ec1 d\u1ef1 ph\u00f2ng v\u00e0 c\u00e2n b\u1eb1ng t\u1ea3i<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>M\u00e1y ch\u1ee7 CAM<\/code> Trong k\u1ebf ho\u1ea1ch t\u1ed1i th\u01b0\u1ee3ng,<span class=\"swl-marker mark_blue\">R\u1ea5t d\u1ec5 d\u00e0ng trong m\u00f4i tr\u01b0\u1eddng t\u1ea1i ch\u1ed7.<\/span>\u0110i\u1ec1u n\u00e0y cho ph\u00e9p d\u1ef1 ph\u00f2ng v\u00e0 c\u00e2n b\u1eb1ng t\u1ea3i cho c\u00e1c m\u00e1y ch\u1ee7 web v\u00e0 video. Nh\u1edd \u0111\u00f3, d\u1ecbch v\u1ee5 \u0111\u01b0\u1ee3c duy tr\u00ec li\u00ean t\u1ee5c ngay c\u1ea3 khi m\u1ed9t m\u00e1y ch\u1ee7 g\u1eb7p s\u1ef1 c\u1ed1, \u0111\u1ed3ng th\u1eddi cho ph\u00e9p gi\u1ea3m hi\u1ec7u su\u1ea5t b\u1eb1ng c\u00e1ch ph\u00e2n ph\u1ed1i qu\u00e1 tr\u00ecnh x\u1eed l\u00fd cho m\u1ed9t l\u01b0\u1ee3ng l\u1edbn ng\u01b0\u1eddi d\u00f9ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ngo\u00e0i ra, c\u1ea5u h\u00ecnh ph\u00e2n t\u00e1n <code>M\u00e1y ch\u1ee7 CAM<\/code> Nh\u01b0ng giao ti\u1ebfp th\u1eddi gian th\u1ef1c l\u00e0 ho\u00e0n to\u00e0n kh\u1ea3 thi. V\u00ed d\u1ee5,<code>CAMServer1<\/code> M\u00e1y kh\u00e1ch \u0111\u01b0\u1ee3c k\u1ebft n\u1ed1i l\u00e0<code>CAMServer2<\/code> B\u1ea1n c\u00f3 th\u1ec3 tr\u00f2 chuy\u1ec7n v\u00e0 t\u1ed5 ch\u1ee9c h\u1ed9i ngh\u1ecb tr\u1ef1c tuy\u1ebfn v\u1edbi c\u00e1c kh\u00e1ch h\u00e0ng kh\u00e1c \u0111ang k\u1ebft n\u1ed1i v\u1edbi h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n.<\/p>\n\n\n\n<p class=\"is-style-big_icon_point wp-block-paragraph\">\u2022 Vi\u1ec7c c\u00e2n b\u1eb1ng t\u1ea3i h\u1ed9i ngh\u1ecb tr\u1ef1c tuy\u1ebfn \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n d\u1ef1a tr\u00ean s\u1ed1 l\u01b0\u1ee3ng cu\u1ed9c h\u1ecdp \u0111ang di\u1ec5n ra v\u00e0 s\u1ed1 ng\u01b0\u1eddi d\u00f9ng tham gia.<br>S\u1ed1 l\u01b0\u1ee3ng h\u1ed9i ngh\u1ecb tr\u1ef1c tuy\u1ebfn \u0111\u1ed3ng th\u1eddi ch\u1ec9 \u0111\u01a1n gi\u1ea3n l\u00e0<code>M\u00e1y ch\u1ee7 CAM<\/code>Vi\u1ec7c ch\u1ec9 \u0111\u01a1n thu\u1ea7n t\u0103ng s\u1ed1 l\u01b0\u1ee3ng n\u00fat m\u1ea1ng s\u1ebd kh\u00f4ng gi\u1ea3i quy\u1ebft \u0111\u01b0\u1ee3c v\u1ea5n \u0111\u1ec1 n\u00e0y. C\u1ea7n ph\u1ea3i xem x\u00e9t c\u1ea3 c\u1ea5u h\u00ecnh m\u1ea1ng \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o r\u1eb1ng kh\u00f4ng ph\u1ea3i t\u1ea5t c\u1ea3 c\u00e1c h\u1ed9i ngh\u1ecb \u0111\u1ec1u \u0111\u01b0\u1ee3c \u0111\u1ecbnh tuy\u1ebfn qua c\u00f9ng m\u1ed9t VPN ho\u1eb7c b\u1ed9 \u0111\u1ecbnh tuy\u1ebfn trung t\u00e2m.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u1ea5u h\u00ecnh d\u1ef1 ph\u00f2ng v\u00e0 c\u00e2n b\u1eb1ng t\u1ea3i<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u00fang t\u00f4i c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp m\u00f4i tr\u01b0\u1eddng t\u1ed1i \u01b0u \u0111\u1ec3 \u0111\u00e1p \u1ee9ng y\u00eau c\u1ea7u v\u00e0 ng\u00e2n s\u00e1ch c\u1ee7a c\u00f4ng ty b\u1ea1n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u1ea5u h\u00ecnh kh\u1edfi \u0111\u1ea7u nh\u1ecf<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1761\" height=\"1049\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-7.png\" alt=\"\" class=\"wp-image-10911\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ul class=\"wp-block-list\"><li><strong>Kho:<\/strong>C\u01a1 s\u1edf d\u1eef li\u1ec7u\/t\u1ec7p tin \u0111\u01b0\u1ee3c \u0111\u1eb7t tr\u00ean CAMServer1 v\u00e0 \u0111\u01b0\u1ee3c truy c\u1eadp t\u1eeb CAMServer2. Ngay c\u1ea3 trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, t\u1ea5t c\u1ea3 ng\u01b0\u1eddi d\u00f9ng v\u1eabn c\u00f3 th\u1ec3 chia s\u1ebb d\u1eef li\u1ec7u theo th\u1eddi gian th\u1ef1c.<\/li><li><strong>h\u1ed7 tr\u1ee3<\/strong>Vi\u1ec7c sao l\u01b0u d\u1eef li\u1ec7u c\u01a1 s\u1edf d\u1eef li\u1ec7u\/t\u1ec7p tin h\u00e0ng ng\u00e0y l\u00ean CAMServer2 l\u00e0 b\u1eaft bu\u1ed9c.<\/li><li><strong>c\u00e2n b\u1eb1ng t\u1ea3i<\/strong>Vi\u1ec7c c\u00e2n b\u1eb1ng t\u1ea3i c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n \u0111\u01b0\u1ee3c b\u1eb1ng c\u00e1ch t\u00e1ch ri\u00eang m\u00e1y ch\u1ee7 CAMServer m\u00e0 m\u1ed7i ph\u00f2ng ban truy c\u1eadp (ho\u1eb7c b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng m\u00e1y ch\u1ee7 d\u1ef1 ph\u00f2ng). C\u00e2n b\u1eb1ng t\u1ea3i lu\u00f4n kh\u1ea3 thi \u0111\u1ed1i v\u1edbi c\u00e1c h\u1ed9i ngh\u1ecb tr\u1ef1c tuy\u1ebfn.<\/li><li><strong>kh\u1ea3 d\u1ee5ng<\/strong>Thi\u1ebft l\u1eadp \u0111\u00edch k\u1ebft n\u1ed1i c\u01a1 s\u1edf d\u1eef li\u1ec7u khi \u0110\u01a1n v\u1ecb 1 g\u1eb7p l\u1ed7i <code>cam.serverDatePath<\/code> Vi\u1ec7c chuy\u1ec3n sang m\u00e1y ch\u1ee7 c\u1ee5c b\u1ed9 l\u00e0 c\u1ea7n thi\u1ebft. Trong tr\u01b0\u1eddng h\u1ee3p \u1ed5 \u0111\u0129a b\u1ecb l\u1ed7i...<span style=\"color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal); background-color: var(--color_content_bg);\">h\u1ed7 tr\u1ee3<\/span>xong<span style=\"color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal); background-color: var(--color_content_bg);\">D\u1eef li\u1ec7u \u0111\u1ebfn ng\u00e0y h\u00f4m tr\u01b0\u1edbc \u0111\u01b0\u1ee3c \u0111\u1ea3m b\u1ea3o.<\/span><\/li><li><strong>tr\u1ecb gi\u00e1<\/strong>\u0110\u00e2y l\u00e0 c\u1ea5u h\u00ecnh ti\u1ebft ki\u1ec7m chi ph\u00ed nh\u1ea5t. N\u00f3 b\u1eaft \u0111\u1ea7u v\u1edbi m\u1ed9t thi\u1ebft b\u1ecb duy nh\u1ea5t v\u00e0 c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c m\u1edf r\u1ed9ng t\u00f9y theo nhu c\u1ea7u.<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">C\u1ea5u h\u00ecnh thi\u1ebft b\u1ecb l\u01b0u tr\u1eef ngo\u00e0i (NAS)<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2151\" height=\"1046\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-8.png\" alt=\"\" class=\"wp-image-10912\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ul class=\"wp-block-list\"><li><strong>[M\u01a1]<\/strong>\u0110\u1eb7t c\u01a1 s\u1edf d\u1eef li\u1ec7u\/t\u1ec7p tin tr\u00ean thi\u1ebft b\u1ecb l\u01b0u tr\u1eef NAS g\u1eafn ngo\u00e0i c\u00f3 \u0111\u1ed9 b\u1ec1n cao v\u1edbi c\u1ea5u h\u00ecnh RAID, v\u00e0 cho ph\u00e9p c\u1ea3 CAMServer1 v\u00e0 CAMServer2 truy c\u1eadp v\u00e0o \u0111\u00f3. Ho\u1eb7c, ch\u1ec9 \u0111\u1ecbnh m\u1ed9t NAS \u1ea3o do h\u1ec7 \u0111i\u1ec1u h\u00e0nh m\u00e1y ch\u1ee7 c\u1ee7a c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng \u1ea3o h\u00f3a cung c\u1ea5p.<\/li><li><strong>h\u1ed7 tr\u1ee3<\/strong>Ngay c\u1ea3 v\u1edbi c\u1ea5u h\u00ecnh RAID, vi\u1ec7c sao l\u01b0u d\u1eef li\u1ec7u c\u01a1 s\u1edf d\u1eef li\u1ec7u\/t\u1ec7p tin h\u00e0ng ng\u00e0y v\u1eabn c\u1ea7n thi\u1ebft \u0111\u1ec3 \u0111\u1ec1 ph\u00f2ng c\u00e1c s\u1ef1 c\u1ed1 v\u1ec1 ngu\u1ed3n \u0111i\u1ec7n\/v\u1ecf m\u00e1y v\u00e0 l\u1ed7i do con ng\u01b0\u1eddi g\u00e2y ra.<\/li><li><strong>c\u00e2n b\u1eb1ng t\u1ea3i<\/strong>\u0110i\u1ec1u n\u00e0y t\u01b0\u01a1ng t\u1ef1 nh\u01b0 c\u1ea5u h\u00ecnh kh\u1edfi \u0111\u1ea7u nh\u1ecf.<\/li><li><strong>kh\u1ea3 d\u1ee5ng<\/strong>Trong tr\u01b0\u1eddng h\u1ee3p x\u1ea3y ra s\u1ef1 c\u1ed1,<a href=\"https:\/\/chat-messenger.com\/vi\/thu-cong\/cai-dat-giam-gia\/ung-dung-web-cam\/\">Phi\u00ean b\u1ea3n \u1ee9ng d\u1ee5ng web<\/a> N\u1ebfu b\u1ea1n s\u1eed d\u1ee5ng ph\u01b0\u01a1ng ph\u00e1p n\u00e0y, h\u00e3y xem b\u00ean d\u01b0\u1edbi. <code>cam.clusterHosts<\/code>N\u00f3 c\u00f3 th\u1ec3 ph\u00e1t hi\u1ec7n \u0111i\u1ec1u n\u00e0y v\u00e0 k\u00edch ho\u1ea1t t\u00ednh n\u0103ng chuy\u1ec3n \u0111\u1ed5i d\u1ef1 ph\u00f2ng t\u1ef1 \u0111\u1ed9ng.<\/li><li><strong>tr\u1ecb gi\u00e1<\/strong>M\u1ed9t c\u1ea5u h\u00ecnh t\u01b0\u01a1ng \u0111\u1ed1i ti\u1ebft ki\u1ec7m chi ph\u00ed.<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">C\u1ea5u h\u00ecnh l\u01b0u tr\u1eef ngo\u00e0i d\u1ef1 ph\u00f2ng<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2661\" height=\"1074\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-9.png\" alt=\"\" class=\"wp-image-10913\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ol class=\"wp-block-list\"><li><strong>[M\u01a1]<\/strong>C\u1ea5u h\u00ecnh n\u00e0y \u01b0u ti\u00ean t\u00ednh kh\u1ea3 d\u1ee5ng cao tr\u01b0\u1edbc c\u00e1c l\u1ed7i \u1ed5 \u0111\u0129a b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c m\u00e1y ch\u1ee7 chia s\u1ebb t\u1eadp tin d\u1ef1 ph\u00f2ng (ch\u1eb3ng h\u1ea1n nh\u01b0 Windows Server Failover Clustering + SAN, AWS S3 + rclone, v.v.).<\/li><li><strong>h\u1ed7 tr\u1ee3<\/strong>D\u1eef li\u1ec7u \u0111\u01b0\u1ee3c sao ch\u00e9p t\u1ef1 \u0111\u1ed9ng, v\u00ec v\u1eady vi\u1ec7c sao l\u01b0u c\u00f3 th\u1ec3 kh\u00f4ng c\u1ea7n thi\u1ebft t\u00f9y thu\u1ed9c v\u00e0o ch\u00ednh s\u00e1ch. Tuy nhi\u00ean, n\u1ebfu b\u1ea1n mu\u1ed1n \u0111\u1ec1 ph\u00f2ng l\u1ed7i do con ng\u01b0\u1eddi (ch\u1eb3ng h\u1ea1n nh\u01b0 x\u00f3a \u1ed5 \u0111\u0129a th\u1ee7 c\u00f4ng), vi\u1ec7c sao l\u01b0u v\u1eabn l\u00e0 c\u1ea7n thi\u1ebft.<\/li><li><strong style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); letter-spacing: var(--swl-letter_spacing,normal);\">c\u00e2n b\u1eb1ng t\u1ea3i<\/strong><span style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal);\">\u0110i\u1ec1u n\u00e0y t\u01b0\u01a1ng t\u1ef1 nh\u01b0 c\u1ea5u h\u00ecnh kh\u1edfi \u0111\u1ea7u nh\u1ecf.<\/span><\/li><li><strong>kh\u1ea3 d\u1ee5ng<\/strong>C\u1ea5u h\u00ecnh m\u00e1y ch\u1ee7 web gi\u1ed1ng v\u1edbi c\u1ea5u h\u00ecnh kh\u1edfi \u0111\u1ea7u nh\u1ecf. Vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i t\u1ef1 \u0111\u1ed9ng v\u1eabn c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n \u0111\u01b0\u1ee3c ngay c\u1ea3 khi x\u1ea3y ra l\u1ed7i do \u1ed5 \u0111\u0129a ho\u1eb7c khung m\u00e1y.<\/li><li><strong>tr\u1ecb gi\u00e1<\/strong>Chi ph\u00ed thi\u1ebft l\u1eadp ban \u0111\u1ea7u kh\u00e1 cao. M\u1eb7c d\u00f9 AWS S3 c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng v\u1edbi chi ph\u00ed th\u1ea5p, nh\u01b0ng n\u00f3 kh\u00f4ng ph\u1ea3i l\u00e0 l\u1ef1a ch\u1ecdn kh\u1ea3 thi n\u1ebfu c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng t\u1ea1i ch\u1ed7 l\u00e0 \u01b0u ti\u00ean h\u00e0ng \u0111\u1ea7u.<\/li><\/ol>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">C\u1ea5u h\u00ecnh b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2110\" height=\"1078\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-10.png\" alt=\"\" class=\"wp-image-10929\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ul class=\"wp-block-list\" id=\"block-69008db6-8cd8-4d4e-b11d-b153c56e5de4\"><li><strong>[M\u01a1]<\/strong>C\u00f3 s\u1eb5n c\u00e1c t\u00f9y ch\u1ecdn c\u1ea5u h\u00ecnh kh\u1edfi \u0111\u1ea7u nh\u1ecf \/ NAS \/ SAN.<\/li><li><strong>h\u1ed7 tr\u1ee3<\/strong>T\u01b0\u01a1ng t\u1ef1 nh\u01b0 c\u1ea5u h\u00ecnh kh\u1edfi \u0111\u1ea7u nh\u1ecf \/ NAS \/ SAN.<\/li><li><strong style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); letter-spacing: var(--swl-letter_spacing,normal);\"><strong>c\u00e2n b\u1eb1ng t\u1ea3i<\/strong><\/strong><span style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal);\">B\u1eb1ng c\u00e1ch \u0111\u1eb7t b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i (Load Balancer) ph\u00eda tr\u01b0\u1edbc CAMServer, c\u00f3 th\u1ec3 \u0111\u1ea1t \u0111\u01b0\u1ee3c t\u00ednh d\u1ef1 ph\u00f2ng v\u00e0 c\u00e2n b\u1eb1ng t\u1ea3i.<\/span>\u203b <a href=\"#lb-requirements\">Chi ti\u1ebft y\u00eau c\u1ea7u c\u1ea5u h\u00ecnh b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i<\/a>Vui l\u00f2ng ki\u1ec3m tra th\u00eam m\u1ee5c n\u00e0y.<\/li><li><strong>kh\u1ea3 d\u1ee5ng<\/strong>K\u1ebft h\u1ee3p v\u1edbi c\u1ea5u h\u00ecnh l\u01b0u tr\u1eef ngo\u00e0i d\u1ef1 ph\u00f2ng, t\u00ednh n\u0103ng t\u1ef1 \u0111\u1ed9ng chuy\u1ec3n \u0111\u1ed5i d\u1ef1 ph\u00f2ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c l\u1edbp.<\/li><li><strong>tr\u1ecb gi\u00e1<\/strong>Chi ph\u00ed thi\u1ebft l\u1eadp ban \u0111\u1ea7u kh\u00e1 cao.<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"load-balancing-settings\">C\u00e0i \u0111\u1eb7t d\u1ef1 ph\u00f2ng v\u00e0 c\u00e2n b\u1eb1ng t\u1ea3i<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">T\u1ed5ng quan v\u1ec1 c\u1ea5u h\u00ecnh<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 k\u00edch ho\u1ea1t t\u00ednh n\u0103ng d\u1ef1 ph\u00f2ng v\u00e0 c\u00e2n b\u1eb1ng t\u1ea3i cho CAMServer, h\u00e3y c\u00e0i \u0111\u1eb7t CAMServer tr\u00ean m\u1ed7i m\u00e1y ch\u1ee7 ph\u00e2n t\u00e1n.<code>CAMServer\/boot.ini<\/code> Th\u00eam m\u1ee5c sau v\u00e0o t\u1ec7p:<\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.clusterHosts=camserver1;camserver2\ncam.clusterHostsDesc=camserver1 \u304c\u30e1\u30a4\u30f3\u30b5\u30fc\u30d0\u3001camserver2 \u306f\u5f85\u6a5f\u7cfb\u30b5\u30fc\u30d0\u3067\u3059\u3002\ncam.serverDatePath=\\\\disk\\CAMServer\\data\ncam.disableLANNetwork=true\n\n# \u30d3\u30c7\u30aa\u30b5\u30fc\u30d0\u306e\u5206\u6563\u8a2d\u5b9a\u3002\u300c\u30b5\u30fc\u30d0=\u30ce\u30fc\u30c9\u5206\u6563\u53c2\u52a0\u6570\u76ee\u5b89\u5024\u300d\u3067\u5b9a\u7fa9\u3002\ncam.videoDomains=camserver1=50;camserver2=50;camserver3=50<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"clusterHosts\">cam.clusterHosts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>cam.clusterHosts<\/code> T\u00ean m\u00e1y ch\u1ee7 (FQDN) c\u1ee7a m\u1ed7i m\u00e1y ch\u1ee7 ph\u00e2n t\u00e1n l\u00e0 <code>;<\/code> C\u00e1c m\u1ee5c \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea, ph\u00e2n c\u00e1ch b\u1eb1ng d\u1ea5u ph\u1ea9y.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Khi kh\u1edfi \u0111\u1ed9ng CAMServer tr\u00ean c\u1ed5ng 443<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.clusterHosts=camserver1;camserver2 <\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\"><div class=\"wp-block-image is-style-border\">\n<figure class=\"alignleft is-resized\"><img decoding=\"async\" src=\"\/images\/camserver_load-balancing_failover.png\" alt=\"\" width=\"357\" height=\"197\"\/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"wp-block-paragraph\">N\u1ebfu b\u1ea1n mu\u1ed1n ph\u00e2n chia CAMServer theo t\u1eebng ph\u00f2ng ban, h\u00e3y li\u1ec7t k\u00ea t\u00ean m\u00e1y ch\u1ee7 (FQDN) \u1edf \u0111\u1ea7u m\u1ed7i t\u1ec7p ini c\u1ee7a CAMServer. Th\u1ee9 t\u1ef1 li\u1ec7t k\u00ea s\u1ebd \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn m\u00e1y ch\u1ee7 k\u1ebft n\u1ed1i ban \u0111\u1ea7u v\u00e0 vi\u1ec7c l\u1ef1a ch\u1ecdn m\u00e1y ch\u1ee7 video khi kh\u1edfi \u0111\u1ed9ng.<a href=\"https:\/\/chat-messenger.com\/vi\/thu-cong\/cai-dat-giam-gia\/ung-dung-web-cam\/\">Phi\u00ean b\u1ea3n \u1ee9ng d\u1ee5ng web<\/a> B\u1eb1ng ph\u01b0\u01a1ng ph\u00e1p n\u00e0y, vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i m\u00e1y ch\u1ee7 t\u1ef1 \u0111\u1ed9ng c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n \u0111\u01b0\u1ee3c trong tr\u01b0\u1eddng h\u1ee3p x\u1ea3y ra s\u1ef1 c\u1ed1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">* N\u1ebfu ch\u01b0a c\u1ea5u h\u00ecnh x\u00e1c th\u1ef1c m\u1ed9t l\u1ea7n (SSO) ho\u1eb7c x\u00e1c th\u1ef1c kh\u00f4ng c\u1ea7n m\u1eadt kh\u1ea9u, b\u1ea1n s\u1ebd c\u1ea7n \u0111\u0103ng nh\u1eadp l\u1ea1i sau khi chuy\u1ec3n \u0111\u1ed5i.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Khi kh\u1edfi \u0111\u1ed9ng CAMServer tr\u00ean c\u1ed5ng 8080<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.clusterHosts=camserver1:8080;camserver2:8080 <\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u00f3 th\u1ec3 tri\u1ec3n khai b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i L7 ph\u00eda tr\u01b0\u1edbc CAMServer v\u00e0 chuy\u1ec3n ti\u1ebfp l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp c\u1ee7a CAMServer \u0111\u1ebfn c\u1ed5ng 8080, nh\u01b0ng c\u1ea5u h\u00ecnh trong tr\u01b0\u1eddng h\u1ee3p \u0111\u00f3 s\u1ebd nh\u01b0 m\u00f4 t\u1ea3 \u1edf tr\u00ean. Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i d\u1ef1 ph\u00f2ng l\u00e0 tr\u00e1ch nhi\u1ec7m c\u1ee7a b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i, v\u00ec v\u1eady camapp s\u1ebd kh\u00f4ng chuy\u1ec3n \u0111\u1ed5i d\u1ef1 ph\u00f2ng. <code>cam.serverURLDomain<\/code>\u3001<code>cam.clusterHosts<\/code> N\u00f3 so s\u00e1nh c\u00e1c mi\u1ec1n, ph\u00e1t hi\u1ec7n s\u1ef1 hi\u1ec7n di\u1ec7n ho\u1eb7c v\u1eafng m\u1eb7t c\u1ee7a b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i v\u00e0 \u0111i\u1ec1u khi\u1ec3n t\u01b0\u01a1ng \u1ee9ng.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">cam.clusterHostsDesc<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\"><div class=\"wp-block-image is-style-border\">\n<figure class=\"alignleft is-resized\"><img decoding=\"async\" src=\"\/images\/camserver_load-balancing_clusterHostsDesc.png\" alt=\"\" width=\"370\" height=\"174\"\/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"wp-block-paragraph\"><code>cam.clusterHostsDesc<\/code> B\u1ea1n c\u00f3 th\u1ec3 thay \u0111\u1ed5i c\u00e1c b\u00ecnh lu\u1eadn trong tr\u01b0\u1eddng m\u00f4 t\u1ea3 d\u00e0nh cho c\u00e1c m\u00e1y ch\u1ee7 ph\u00e2n t\u00e1n.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">cam.serverDatePath<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>cam.serverDatePath<\/code> Th\u00f4ng tin n\u00e0y ch\u1ec9 \u0111\u1ecbnh c\u01a1 s\u1edf d\u1eef li\u1ec7u (DB) v\u00e0 v\u1ecb tr\u00ed l\u01b0u tr\u1eef c\u00e1c t\u1ec7p \u0111\u00ednh k\u00e8m \u0111\u00e3 t\u1ea3i l\u00ean. N\u00f3 c\u0169ng ch\u1ec9 \u0111\u1ecbnh m\u1ed9t \u0111\u0129a d\u00f9ng chung c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u01b0\u1ee3c t\u1eeb c\u00e1c m\u00e1y ch\u1ee7 ph\u00e2n t\u00e1n.<\/p>\n\n\n\n<p class=\"is-style-big_icon_memo wp-block-paragraph\">*Khi ch\u1ec9 \u0111\u1ecbnh \u0111\u0129a d\u00f9ng chung, n\u1ebfu d\u1ecbch v\u1ee5 \u0111ang ch\u1ea1y... <a rel=\"noreferrer noopener\" href=\"\/vi\/thu-cong\/may-chu-camera\/launch_camserver_as_windows_service\/#svc_osuser\" target=\"_blank\">Ng\u01b0\u1eddi d\u00f9ng h\u1ec7 \u0111i\u1ec1u h\u00e0nh \u0111ang ch\u1ea1y c\u00e1c d\u1ecbch v\u1ee5 Windows<\/a>Nh\u1eefng th\u00f4ng tin sau \u0111\u00e2y ph\u1ea3i \u0111\u01b0\u1ee3c n\u00eau r\u00f5.<br>* N\u1ebfu kh\u00f4ng c\u00f3 \u1ed5 \u0111\u0129a d\u00f9ng chung, CAMServer ph\u1ee5 s\u1ebd gi\u1ed1ng v\u1edbi CAMServer ch\u00ednh. <code>CAMServer\/config<\/code> B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 chia s\u1ebb dung l\u01b0\u1ee3ng l\u01b0u tr\u1eef b\u1eb1ng c\u00e1ch ch\u1ec9 \u0111\u1ecbnh m\u1ed9t th\u01b0 m\u1ee5c.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"videoDomains\">cam.videoDomains<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e2y l\u00e0 c\u00e0i \u0111\u1eb7t ph\u00e2n ph\u1ed1i m\u00e1y ch\u1ee7 video. N\u1ebfu \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp nh\u01b0 sau, khi t\u1ed5ng s\u1ed1 ng\u01b0\u1eddi tham gia trong ph\u00f2ng h\u1ecdp v\u01b0\u1ee3t qu\u00e1 50 theo th\u1ee9 t\u1ef1 \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea, m\u1ed9t ph\u00f2ng h\u1ecdp s\u1ebd \u0111\u01b0\u1ee3c t\u1ea1o tr\u00ean m\u00e1y ch\u1ee7 ti\u1ebfp theo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>cam.videoDomains=camserver1=50;camserver2=50;camserver3=50<\/code><br><\/p>\n\n\n\n<p class=\"is-style-icon_info wp-block-paragraph\">- C\u00f3 th\u1ec3 b\u1ecf qua b\u01b0\u1edbc n\u00e0y n\u1ebfu cam.clusterHosts \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh.<br>Gi\u00e1 tr\u1ecb n\u00e0y kh\u00f4ng th\u1ec3 hi\u1ec7n gi\u1edbi h\u1ea1n tr\u00ean c\u1ee7a s\u1ed1 l\u01b0\u1ee3ng k\u1ebft n\u1ed1i t\u1ed1i \u0111a, m\u00e0 ch\u1ec9 l\u00e0 m\u1ed9t h\u01b0\u1edbng d\u1eabn \u0111\u1ec3 c\u00e2n b\u1eb1ng t\u1ea3i.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">cam.disableLANNetwork<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1c k\u1ebft n\u1ed1i TCP\/UDP cho m\u1ea1ng LAN l\u00e0 kh\u00f4ng c\u1ea7n thi\u1ebft trong c\u1ea5u h\u00ecnh d\u1ef1 ph\u00f2ng, v\u00ec v\u1eady vui l\u00f2ng t\u1eaft ch\u00fang \u0111i.<\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.disableLANNetwork=true<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Firewall\">Cho ph\u00e9p t\u01b0\u1eddng l\u1eeda truy\u1ec1n d\u1eef li\u1ec7u \u0111\u1ec3 \u0111\u1ed3ng b\u1ed9 h\u00f3a d\u1eef li\u1ec7u gi\u1eefa c\u00e1c m\u00e1y ch\u1ee7.<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li>C\u00e1c c\u1eadp nh\u1eadt d\u1eef li\u1ec7u th\u1eddi gian th\u1ef1c (tr\u1ea1ng th\u00e1i hi\u1ec7n di\u1ec7n c\u1ee7a ng\u01b0\u1eddi d\u00f9ng, tin nh\u1eafn, ph\u00f2ng tr\u00f2 chuy\u1ec7n, v.v.) \u0111\u01b0\u1ee3c \u0111\u1ed3ng b\u1ed9 h\u00f3a gi\u1eefa c\u00e1c CAMServer, do \u0111\u00f3 c\u1ea7n c\u00f3 quy\u1ec1n giao ti\u1ebfp gi\u1eefa c\u00e1c m\u00e1y ch\u1ee7 th\u00f4ng qua t\u01b0\u1eddng l\u1eeda ho\u1eb7c thi\u1ebft b\u1ecb t\u01b0\u01a1ng t\u1ef1.<\/li><li>C\u00e1c c\u1ed5ng TCP 9090, 9091 v\u00e0 9092 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 truy c\u1eadp v\u00e0o n\u00fat ch\u00ednh c\u1ee7a c\u01a1 s\u1edf d\u1eef li\u1ec7u.<\/li><li>C\u1ed5ng TCP 8080 d\u00f9ng cho URL k\u1ebft n\u1ed1i m\u00e1y ch\u1ee7-m\u00e1y ch\u1ee7.<ul><li>\u0110\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a trong t\u1ec7p cam.clusterHosts trong t\u1ec7p ini. <\/li><li>V\u00ed d\u1ee5) cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080<\/li><\/ul><\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"lb-requirements\">Chi ti\u1ebft y\u00eau c\u1ea7u v\u1ec1 b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i<\/h2>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full is-resized is-style-shadow\"><img decoding=\"async\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/12\/image-9.png\" alt=\"\" class=\"wp-image-11408\" width=\"401\" height=\"291\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"wp-block-paragraph\">T\u00e0i li\u1ec7u n\u00e0y m\u00f4 t\u1ea3 chi ti\u1ebft c\u00e1c y\u00eau c\u1ea7u \u0111\u1ed1i v\u1edbi c\u1ea5u h\u00ecnh b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i.<\/p>\n\n\n\n<p class=\"is-style-icon_info wp-block-paragraph\">N\u00f3 h\u1ed7 tr\u1ee3 L7\/L4, nh\u01b0ng c\u1ea7n c\u00f3 t\u00ednh n\u0103ng duy tr\u00ec phi\u00ean (session affinity). Xin l\u01b0u \u00fd r\u1eb1ng L7 cho ph\u00e9p b\u1ea1n thi\u1ebft l\u1eadp k\u1ebft n\u1ed1i tr\u00ean c\u01a1 s\u1edf phi\u00ean, trong khi L4 ch\u1ec9 c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp k\u1ebft n\u1ed1i theo \u0111\u1ecba ch\u1ec9 IP. Ph\u1ea7n gi\u1ea3i th\u00edch n\u00e0y s\u1ebd t\u1eadp trung v\u00e0o c\u1ea5u h\u00ecnh L7.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">1. Ch\u1ea5m d\u1ee9t SSL<\/h4>\n\n\n\n<ol class=\"wp-block-list\"><li>C\u00e0i \u0111\u1eb7t ch\u1ee9ng ch\u1ec9 SSL tr\u00ean b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i v\u00e0 gi\u1ea3i m\u00e3 k\u1ebft n\u1ed1i SSL\/TLS.<\/li><li>Vi\u1ec7c giao ti\u1ebfp v\u1edbi ph\u00eda m\u00e1y kh\u00e1ch \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n qua HTTPS, trong khi HTTP \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho vi\u1ec7c giao ti\u1ebfp t\u1eeb b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i \u0111\u1ebfn m\u00e1y ch\u1ee7 ph\u1ee5 tr\u1ee3.<\/li><\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">2. Thu\u1eadt to\u00e1n c\u00e2n b\u1eb1ng t\u1ea3i<\/h4>\n\n\n\n<ol class=\"wp-block-list\"><li>C\u00e2n b\u1eb1ng t\u1ea3i b\u1eb1ng ph\u01b0\u01a1ng ph\u00e1p lu\u00e2n phi\u00ean (round robin).<\/li><li>Vi\u1ec7c duy tr\u00ec phi\u00ean d\u1ef1a tr\u00ean cookie (li\u00ean k\u1ebft phi\u00ean) l\u00e0 c\u1ea7n thi\u1ebft, v\u00e0 c\u1ea7n ph\u1ea3i x\u00e1c minh r\u1eb1ng h\u1ec7 th\u1ed1ng c\u00f3 ch\u1ee9c n\u0103ng \u0111\u1ecbnh tuy\u1ebfn truy c\u1eadp t\u1eeb c\u00f9ng m\u1ed9t m\u00e1y kh\u00e1ch \u0111\u1ebfn c\u00f9ng m\u1ed9t n\u00fat.<\/li><\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">3. Ti\u00eau \u0111\u1ec1 v\u00e0 qu\u00e1 tr\u00ecnh x\u1eed l\u00fd b\u1ed5 sung s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n ti\u1ebfp \u0111\u1ebfn m\u00e1y ch\u1ee7 ph\u1ee5 tr\u1ee3 (8080).<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>X-Forwarded-Proto<\/code><br>M\u1ed9t m\u1ee5c trong ti\u00eau \u0111\u1ec1 x\u00e1c \u0111\u1ecbnh y\u00eau c\u1ea7u l\u00e0 HTTPS khi b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i (LB) chuy\u1ec3n ti\u1ebfp n\u00f3 \u0111\u1ebfn m\u00e1y ch\u1ee7 ph\u1ee5 tr\u1ee3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>X-\u0110\u00e3 chuy\u1ec3n ti\u1ebfp-Cho<\/code><br>M\u1ed9t m\u1ee5c ti\u00eau \u0111\u1ec1 x\u00e1c \u0111\u1ecbnh \u0111\u1ecba ch\u1ec9 IP c\u1ee7a m\u00e1y kh\u00e1ch khi b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i chuy\u1ec3n ti\u1ebfp d\u1eef li\u1ec7u \u0111\u1ebfn m\u00e1y ch\u1ee7 ph\u1ee5 tr\u1ee3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>X\u1eed l\u00fd ti\u00eau \u0111\u1ec1 N\u00e2ng c\u1ea5p WebSocket<\/code><br>Khi y\u00eau c\u1ea7u HTTP \u0111\u01b0\u1ee3c ph\u00e2n t\u00edch c\u00fa ph\u00e1p v\u00e0 ph\u00e1t hi\u1ec7n th\u1ea5y ti\u00eau \u0111\u1ec1 Upgrade, n\u00f3 s\u1ebd k\u00edch ho\u1ea1t qu\u00e1 tr\u00ecnh chuy\u1ec3n m\u1ea1ch TCP.<\/p>\n\n\n\n<p class=\"is-style-icon_info wp-block-paragraph\">C\u00e1c b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i hi\u1ec7n \u0111\u1ea1i (AWS\/GCP\/Azure) c\u00f3 c\u00e1c c\u00e0i \u0111\u1eb7t ti\u00eau chu\u1ea9n \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh m\u1eb7c \u0111\u1ecbnh.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Giao ti\u1ebfp v\u1edbi m\u00e1y ch\u1ee7 ph\u1ee5 tr\u1ee3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vi\u1ec7c li\u00ean l\u1ea1c t\u1eeb b\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i \u0111\u1ebfn t\u1eebng CAMServer s\u1ebd \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n b\u1eb1ng c\u00e1c giao th\u1ee9c v\u00e0 c\u1ed5ng sau.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Giao th\u1ee9c: HTTP<\/li><li>M\u00e3 s\u1ed1 c\u1ed5ng: 8080<\/li><li>V\u00ed d\u1ee5 k\u1ebft n\u1ed1i: http:\/\/HOSTNAME:8080\/<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5. Kh\u00e1m s\u1ee9c kh\u1ecfe<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>B\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i \u0111\u1ecbnh k\u1ef3 y\u00eau c\u1ea7u URL sau v\u00e0 x\u00e1c \u0111\u1ecbnh n\u00f3 l\u00e0 &quot;b\u00ecnh th\u01b0\u1eddng&quot; n\u1ebfu c\u00e1c \u0111i\u1ec1u ki\u1ec7n \u0111\u01b0\u1ee3c \u0111\u00e1p \u1ee9ng.<\/li><li>URL ki\u1ec3m tra s\u1ee9c kh\u1ecfe: http:\/\/HOSTNAME:8080\/CAMServer\/healthCheck<\/li><li>\u0110i\u1ec1u ki\u1ec7n ki\u1ec3m tra s\u1ee9c kh\u1ecfe: M\u00e3 tr\u1ea1ng th\u00e1i HTTP: 200 N\u1ed9i dung ph\u1ea3n h\u1ed3i: {&quot;status&quot;:200}<\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>\u5197\u9577\u5316\u30fb\u8ca0\u8377\u5206\u6563\u306b\u3064\u3044\u3066 CAMServer \u306e Ultimate \u30d7\u30e9\u30f3\u3067\u306f\u3001\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u74b0\u5883\u3067\u3068\u3066\u3082\u7c21\u5358\u306b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","footnotes":""},"categories":[17],"tags":[],"class_list":["post-6153","post","type-post","status-publish","format-standard","hentry","category-camserver"],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/6153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/comments?post=6153"}],"version-history":[{"count":9,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/6153\/revisions"}],"predecessor-version":[{"id":12264,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/6153\/revisions\/12264"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/media?parent=6153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/categories?post=6153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/tags?post=6153"}],"curies":[{"name":"trang web","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}