{"id":5990,"date":"2026-11-02T23:03:34","date_gmt":"2026-11-02T23:03:34","guid":{"rendered":"https:\/\/zynoo.com\/blog\/nginx-rate-limiting\/"},"modified":"2026-11-02T23:08:03","modified_gmt":"2026-11-02T23:08:03","slug":"nginx-rate-limiting","status":"publish","type":"post","link":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/","title":{"rendered":"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"h-\"><strong>Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx<\/strong> l\u00e0 t\u00ednh n\u0103ng t\u00edch h\u1ee3p gi\u00fap ki\u1ec3m so\u00e1t s\u1ed1 l\u01b0\u1ee3ng y\u00eau c\u1ea7u HTTP m\u00e0 m\u1ed9t m\u00e1y kh\u00e1ch c\u00f3 th\u1ec3 g\u1eedi trong m\u1ed9t kho\u1ea3ng th\u1eddi gian nh\u1ea5t \u0111\u1ecbnh. T\u00ednh n\u0103ng n\u00e0y c\u00f3 th\u1ec3 gi\u1ea3m l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp g\u00e2y h\u1ea1i nh\u1eafm v\u00e0o API, trang \u0111\u0103ng nh\u1eadp v\u00e0 c\u00e1c \u1ee9ng d\u1ee5ng ti\u00eau t\u1ed1n nhi\u1ec1u t\u00e0i nguy\u00ean m\u00e0 kh\u00f4ng c\u1ea7n c\u00e0i th\u00eam ph\u1ea7n m\u1ec1m.<\/p>\n\n<p class=\"wp-block-paragraph\">Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, b\u1ea1n s\u1ebd c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx, ki\u1ec3m tra m\u1ed9t c\u00e1ch an to\u00e0n v\u00e0 b\u1eadt t\u00ednh n\u0103ng b\u1ea3o v\u1ec7 tr\u00ean m\u00e1y ch\u1ee7 Ubuntu.<\/p>\n\n<h2 id=\"h-how-does-nginx-rate-limiting-work\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Gioi_han_tan_suat_yeu_cau_cua_Nginx_hoat_dong_nhu_the_nao\"><\/span>Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Nginx s\u1eed d\u1ee5ng m\u00f4-\u0111un <code>limit_req<\/code> \u0111\u1ec3 theo d\u00f5i c\u00e1c y\u00eau c\u1ea7u \u0111\u1ebfn, th\u01b0\u1eddng d\u1ef1a tr\u00ean \u0111\u1ecba ch\u1ec9 IP c\u1ee7a m\u00e1y kh\u00e1ch.<\/p>\n\n<p class=\"wp-block-paragraph\">V\u00ed d\u1ee5, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1eb7t gi\u1edbi h\u1ea1n trung b\u00ecnh l\u00e0 n\u0103m y\u00eau c\u1ea7u m\u1ed7i gi\u00e2y, \u0111\u1ed3ng th\u1eddi cho ph\u00e9p c\u00e1c \u0111\u1ee3t t\u0103ng l\u01b0u l\u01b0\u1ee3ng ng\u1eafn. Nh\u1eefng y\u00eau c\u1ea7u v\u01b0\u1ee3t qu\u00e1 m\u1ee9c t\u0103ng \u0111\u1ed9t bi\u1ebfn \u0111\u01b0\u1ee3c ph\u00e9p sau \u0111\u00f3 c\u00f3 th\u1ec3 b\u1ecb t\u1eeb ch\u1ed1i.<\/p>\n\n<p class=\"wp-block-paragraph\">\u0110i\u1ec1u n\u00e0y gi\u00fap ng\u0103n l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn l\u00e0m qu\u00e1 t\u1ea3i \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>L\u01b0u \u00fd:<\/strong> Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u gi\u00fap gi\u1ea3m thi\u1ec3u m\u1ed9t s\u1ed1 cu\u1ed9c t\u1ea5n c\u00f4ng HTTP flood \u1edf L\u1edbp 7. T\u00ednh n\u0103ng n\u00e0y kh\u00f4ng th\u1ec3 ng\u0103n ch\u1eb7n c\u00e1c cu\u1ed9c t\u1ea5n c\u00f4ng DDoS quy m\u00f4 l\u1edbn \u1edf c\u1ea5p \u0111\u1ed9 m\u1ea1ng l\u00e0m b\u00e3o h\u00f2a k\u1ebft n\u1ed1i c\u1ee7a b\u1ea1n.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/how-to-configure-Nginx-Rate-Limiting-1024x576.webp\" alt=\"c\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx\" class=\"wp-image-5963\" srcset=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/how-to-configure-Nginx-Rate-Limiting-1024x576.webp 1024w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/how-to-configure-Nginx-Rate-Limiting-300x169.webp 300w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/how-to-configure-Nginx-Rate-Limiting-768x432.webp 768w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/how-to-configure-Nginx-Rate-Limiting-1536x864.webp 1536w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/how-to-configure-Nginx-Rate-Limiting.webp 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<h2 id=\"h-prerequisites\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Dieu_kien_tien_quyet\"><\/span>\u0110i\u1ec1u ki\u1ec7n ti\u00ean quy\u1ebft<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u1ea7n c\u00f3 m\u1ed9t m\u00e1y ch\u1ee7 Ubuntu \u0111\u00e3 c\u00e0i \u0111\u1eb7t Nginx, quy\u1ec1n truy c\u1eadp SSH v\u1edbi \u0111\u1eb7c quy\u1ec1n sudo v\u00e0 m\u1ed9t website ho\u1eb7c \u1ee9ng d\u1ee5ng hi\u1ec7n c\u00f3.<\/p>\n\n<div class=\"wp-block-group zynoo-related-reading has-border-color has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-color:#c7d8ef;border-width:1px;border-radius:8px;border-left-color:#0069ff;border-left-width:3px;color:#24364f;background-color:#eaf2ff;margin-top:28px;margin-bottom:28px;padding-top:18px;padding-right:22px;padding-bottom:18px;padding-left:22px;font-size:16px;line-height:1.8\">\n<p class=\"wp-block-paragraph\">N\u1ebfu b\u1ea1n thi\u1ebft l\u1eadp Nginx l\u1ea7n \u0111\u1ea7u, h\u00e3y l\u00e0m theo <a href=\"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/\">h\u01b0\u1edbng d\u1eabn thi\u1ebft l\u1eadp reverse proxy Nginx<\/a> c\u1ee7a ch\u00fang t\u00f4i.<\/p>\n<\/div>\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc khi thay \u0111\u1ed5i, h\u00e3y sao l\u01b0u c\u1ea5u h\u00ecnh website hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n.<\/p>\n\n<h2 id=\"h-step-1-define-a-rate-limiting-zone\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_1_Xac_dinh_vung_gioi_han_tan_suat_yeu_cau\"><\/span>B\u01b0\u1edbc 1: X\u00e1c \u0111\u1ecbnh v\u00f9ng gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">K\u1ebft n\u1ed1i v\u1edbi m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n qua SSH.<\/p>\n\n<p class=\"wp-block-paragraph\">Tr\u00ean b\u1ea3n c\u00e0i \u0111\u1eb7t Nginx ti\u00eau chu\u1ea9n c\u1ee7a Ubuntu, h\u00e3y t\u1ea1o m\u1ed9t t\u1ec7p c\u1ea5u h\u00ecnh m\u1edbi:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/conf.d\/rate-limit.conf<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Th\u00eam:<\/p>\n\n<pre class=\"wp-block-code\"><code>limit_req_zone $binary_remote_addr zone=perip:10m rate=5r\/s;<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">C\u1ea5u h\u00ecnh n\u00e0y s\u1eed d\u1ee5ng \u0111\u1ecba ch\u1ec9 IP c\u1ee7a m\u00e1y kh\u00e1ch \u0111\u1ec3 theo d\u00f5i y\u00eau c\u1ea7u, c\u1ea5p ph\u00e1t 10 MB cho d\u1eef li\u1ec7u theo d\u00f5i v\u00e0 \u0111\u1eb7t gi\u1edbi h\u1ea1n trung b\u00ecnh l\u00e0 n\u0103m y\u00eau c\u1ea7u m\u1ed7i gi\u00e2y cho m\u1ed7i IP.<\/p>\n\n<p class=\"wp-block-paragraph\">Ch\u1ec9 th\u1ecb <code>limit_req_zone<\/code> ph\u1ea3i \u0111\u01b0\u1ee3c \u0111\u1eb7t trong ng\u1eef c\u1ea3nh <code>http<\/code> c\u1ee7a Nginx. C\u1ea5u h\u00ecnh Ubuntu ti\u00eau chu\u1ea9n n\u1ea1p c\u00e1c t\u1ec7p <code>conf.d<\/code> trong ng\u1eef c\u1ea3nh n\u00e0y.<\/p>\n\n<p class=\"wp-block-paragraph\">L\u01b0u t\u1ec7p.<\/p>\n\n<h2 id=\"h-step-2-enable-rate-limiting-for-your-website\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_2_Bat_gioi_han_tan_suat_yeu_cau_cho_website_cua_ban\"><\/span>B\u01b0\u1edbc 2: B\u1eadt gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u cho website c\u1ee7a b\u1ea1n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">M\u1edf t\u1ec7p c\u1ea5u h\u00ecnh Nginx hi\u1ec7n t\u1ea1i c\u1ee7a website:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/sites-available\/app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Thay t\u00ean t\u1ec7p b\u1eb1ng t\u00ean t\u1ec7p c\u1ea5u h\u00ecnh th\u1ef1c t\u1ebf c\u1ee7a b\u1ea1n.<\/p>\n\n<p class=\"wp-block-paragraph\">V\u1edbi m\u1ed9t \u1ee9ng d\u1ee5ng HTTP ch\u1ea1y tr\u00ean c\u1ed5ng 3000, m\u1ed9t \u0111i\u1ec3m cu\u1ed1i API \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7 c\u00f3 th\u1ec3 c\u00f3 c\u1ea5u h\u00ecnh nh\u01b0 sau:<\/p>\n\n<pre class=\"wp-block-code\"><code>location \/api\/ {\n    limit_req zone=perip burst=10 nodelay;\n    limit_req_status 429;\n    limit_req_dry_run on;\n\n    proxy_pass http:\/\/127.0.0.1:3000;\n}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00e2y l\u00e0 ch\u1ee9c n\u0103ng c\u1ee7a c\u00e1c ch\u1ec9 th\u1ecb quan tr\u1ecdng:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><code>limit_req<\/code>: \u00c1p d\u1ee5ng gi\u1edbi h\u1ea1n \u0111\u00e3 x\u00e1c \u0111\u1ecbnh tr\u01b0\u1edbc \u0111\u00f3.<\/li>\n\n\n\n<li><code>burst=10<\/code>: Cho ph\u00e9p m\u1ed9t \u0111\u1ee3t t\u0103ng y\u00eau c\u1ea7u ng\u1eafn v\u01b0\u1ee3t m\u1ee9c gi\u1edbi h\u1ea1n.<\/li>\n\n\n\n<li><code>nodelay<\/code>: X\u1eed l\u00fd ngay c\u00e1c y\u00eau c\u1ea7u n\u1eb1m trong \u0111\u1ee3t t\u0103ng \u0111\u01b0\u1ee3c ph\u00e9p.<\/li>\n\n\n\n<li><code>limit_req_status 429<\/code>: Tr\u1ea3 v\u1ec1 m\u00e3 HTTP 429 khi y\u00eau c\u1ea7u b\u1ecb t\u1eeb ch\u1ed1i.<\/li>\n\n\n\n<li><code>limit_req_dry_run on<\/code>: Ghi nh\u1eadn c\u00e1c y\u00eau c\u1ea7u v\u01b0\u1ee3t gi\u1edbi h\u1ea1n m\u00e0 kh\u00f4ng ch\u1eb7n ch\u00fang.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><strong>Quan tr\u1ecdng:<\/strong> Th\u00eam c\u00e1c ch\u1ec9 th\u1ecb gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u n\u00e0y v\u00e0o kh\u1ed1i <code>location<\/code> hi\u1ec7n c\u00f3 t\u01b0\u01a1ng \u1ee9ng. \u0110\u1eebng t\u1ea1o c\u00e1c location tr\u00f9ng l\u1eb7p ho\u1eb7c thay th\u1ebf c\u1ea5u h\u00ecnh backend hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n.<\/p>\n\n<p class=\"wp-block-paragraph\">C\u00e1c gi\u00e1 tr\u1ecb \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb ch\u1ec9 l\u00e0 v\u00ed d\u1ee5. H\u00e3y ch\u1ecdn gi\u1edbi h\u1ea1n d\u1ef1a tr\u00ean l\u01b0u l\u01b0\u1ee3ng y\u00eau c\u1ea7u th\u00f4ng th\u01b0\u1eddng c\u1ee7a \u1ee9ng d\u1ee5ng.<\/p>\n\n<h2 id=\"h-step-3-validate-your-nginx-configuration\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_3_Kiem_tra_tinh_hop_le_cua_cau_hinh_Nginx\"><\/span>B\u01b0\u1edbc 3: Ki\u1ec3m tra t\u00ednh h\u1ee3p l\u1ec7 c\u1ee7a c\u1ea5u h\u00ecnh Nginx<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra c\u1ea5u h\u00ecnh:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo nginx -t<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu qu\u00e1 tr\u00ecnh ki\u1ec3m tra th\u00e0nh c\u00f4ng, h\u00e3y t\u1ea3i l\u1ea1i Nginx:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reload nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu xu\u1ea5t hi\u1ec7n l\u1ed7i, h\u00e3y kh\u1eafc ph\u1ee5c tr\u01b0\u1edbc khi t\u1ea3i l\u1ea1i.<\/p>\n\n<h2 id=\"h-step-4-test-the-rate-limit\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_4_Kiem_tra_gioi_han_tan_suat_yeu_cau\"><\/span>B\u01b0\u1edbc 4: Ki\u1ec3m tra gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">V\u00ec ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed \u0111ang \u0111\u01b0\u1ee3c b\u1eadt, c\u00e1c y\u00eau c\u1ea7u s\u1ebd ch\u01b0a b\u1ecb t\u1eeb ch\u1ed1i.<\/p>\n\n<p class=\"wp-block-paragraph\">Theo d\u00f5i nh\u1eadt k\u00fd l\u1ed7i c\u1ee7a Nginx:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo tail -f \/var\/log\/nginx\/error.log<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">T\u1eeb m\u1ed9t c\u1eeda s\u1ed5 d\u00f2ng l\u1ec7nh kh\u00e1c, h\u00e3y g\u1eedi m\u1ed9t \u0111\u1ee3t y\u00eau c\u1ea7u nh\u1ecf \u0111\u1ec3 ki\u1ec3m tra \u0111\u1ebfn \u0111i\u1ec3m cu\u1ed1i do b\u1ea1n qu\u1ea3n l\u00fd:<\/p>\n\n<pre class=\"wp-block-code\"><code>for i in $(seq 1 15); do\n  curl -s -o \/dev\/null -w \"%{http_code}\\n\" \\\n  https:&#047;&#047;app.example.com\/api\/health\ndone<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Thay URL b\u1eb1ng m\u1ed9t \u0111i\u1ec3m cu\u1ed1i \u0111ang ho\u1ea1t \u0111\u1ed9ng tr\u00ean \u1ee9ng d\u1ee5ng th\u1eed nghi\u1ec7m ho\u1eb7c \u1ee9ng d\u1ee5ng \u1edf m\u00f4i tr\u01b0\u1eddng staging c\u1ee7a b\u1ea1n.<\/p>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu c\u00e1c y\u00eau c\u1ea7u v\u01b0\u1ee3t qu\u00e1 gi\u1edbi h\u1ea1n, Nginx s\u1ebd ghi c\u00e1c th\u00f4ng b\u00e1o ch\u1ee9a <code>limiting requests, dry run<\/code> v\u00e0o nh\u1eadt k\u00fd l\u1ed7i.<\/p>\n\n<p class=\"wp-block-paragraph\">\u1ee8ng d\u1ee5ng c\u1ee7a b\u1ea1n s\u1ebd ti\u1ebfp t\u1ee5c tr\u1ea3 v\u1ec1 ph\u1ea3n h\u1ed3i nh\u01b0 b\u00ecnh th\u01b0\u1eddng v\u00ec t\u00ednh n\u0103ng t\u1eeb ch\u1ed1i y\u00eau c\u1ea7u ch\u01b0a \u0111\u01b0\u1ee3c b\u1eadt.<\/p>\n\n<h2 id=\"h-step-5-enable-rate-limiting\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_5_Bat_gioi_han_tan_suat_yeu_cau\"><\/span>B\u01b0\u1edbc 5: B\u1eadt gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Sau khi xem x\u00e9t k\u1ebft qu\u1ea3 v\u00e0 x\u00e1c nh\u1eadn c\u00e1c gi\u1edbi h\u1ea1n \u0111\u00e3 ph\u00f9 h\u1ee3p, h\u00e3y x\u00f3a ch\u1ec9 th\u1ecb n\u00e0y kh\u1ecfi kh\u1ed1i location \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7:<\/p>\n\n<pre class=\"wp-block-code\"><code>limit_req_dry_run on;<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra t\u00ednh h\u1ee3p l\u1ec7 c\u1ee7a c\u1ea5u h\u00ecnh v\u00e0 t\u1ea3i l\u1ea1i Nginx m\u1ed9t l\u1ea7n n\u1eefa:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo nginx -t\nsudo systemctl reload nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">C\u00e1c y\u00eau c\u1ea7u v\u01b0\u1ee3t gi\u1edbi h\u1ea1n gi\u1edd \u0111\u00e2y c\u00f3 th\u1ec3 nh\u1eadn ph\u1ea3n h\u1ed3i <strong>HTTP 429 Too Many Requests<\/strong>.<\/p>\n\n<p class=\"wp-block-paragraph\">L\u1eb7p l\u1ea1i m\u1ed9t l\u1ea7n ki\u1ec3m tra c\u00f3 ki\u1ec3m so\u00e1t v\u00e0 xem c\u00e1c m\u00e3 ph\u1ea3n h\u1ed3i. K\u1ebft qu\u1ea3 c\u1ee5 th\u1ec3 ph\u1ee5 thu\u1ed9c v\u00e0o th\u1eddi \u0111i\u1ec3m g\u1eedi y\u00eau c\u1ea7u v\u00e0 c\u00e1c gi\u1edbi h\u1ea1n b\u1ea1n \u0111\u00e3 c\u1ea5u h\u00ecnh.<\/p>\n\n<h3 id=\"h-how-to-undo-the-changes\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cach_hoan_tac_cac_thay_doi\"><\/span>C\u00e1ch ho\u00e0n t\u00e1c c\u00e1c thay \u0111\u1ed5i<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu ng\u01b0\u1eddi d\u00f9ng h\u1ee3p l\u1ec7 b\u1ecb \u1ea3nh h\u01b0\u1edfng, h\u00e3y kh\u00f4i ph\u1ee5c:<\/p>\n\n<pre class=\"wp-block-code\"><code>limit_req_dry_run on;<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra t\u00ednh h\u1ee3p l\u1ec7 c\u1ee7a c\u1ea5u h\u00ecnh v\u00e0 t\u1ea3i l\u1ea1i Nginx. Thao t\u00e1c n\u00e0y \u0111\u01b0a c\u1ea5u h\u00ecnh v\u1ec1 ch\u1ebf \u0111\u1ed9 theo d\u00f5i m\u00e0 kh\u00f4ng t\u1eeb ch\u1ed1i y\u00eau c\u1ea7u.<\/p>\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00f3, b\u1ea1n c\u00f3 th\u1ec3 \u0111i\u1ec1u ch\u1ec9nh gi\u1edbi h\u1ea1n d\u1ef1a tr\u00ean l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp th\u1ef1c t\u1ebf.<\/p>\n\n<h2 id=\"h-important-nginx-behind-cloudflare-or-another-cdn\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quan_trong_Nginx_dat_sau_Cloudflare_hoac_mot_CDN_khac\"><\/span>Quan tr\u1ecdng: Nginx \u0111\u1eb7t sau Cloudflare ho\u1eb7c m\u1ed9t CDN kh\u00e1c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Khi Nginx \u0111\u1eb7t sau m\u1ed9t reverse proxy, \u0111\u1ecba ch\u1ec9 IP m\u00e1y kh\u00e1ch m\u00e0 Nginx nh\u00ecn th\u1ea5y c\u00f3 th\u1ec3 l\u00e0 c\u1ee7a proxy thay v\u00ec c\u1ee7a kh\u00e1ch truy c\u1eadp ban \u0111\u1ea7u.<\/p>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu \u00e1p d\u1ee5ng gi\u1edbi h\u1ea1n theo IP m\u00e0 kh\u00f4ng x\u1eed l\u00fd v\u1ea5n \u0111\u1ec1 n\u00e0y, nh\u1eefng ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng li\u00ean quan c\u00f3 th\u1ec3 b\u1ecb t\u00ednh chung v\u00e0o m\u1ed9t nh\u00f3m.<\/p>\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc khi \u00e1p d\u1ee5ng gi\u1edbi h\u1ea1n cho t\u1eebng m\u00e1y kh\u00e1ch, h\u00e3y c\u1ea5u h\u00ecnh c\u00e1ch x\u1eed l\u00fd IP m\u00e1y kh\u00e1ch \u0111\u00e1ng tin c\u1eady b\u1eb1ng m\u00f4-\u0111un Real IP c\u1ee7a Nginx v\u00e0 c\u00e1c d\u1ea3i IP do nh\u00e0 cung c\u1ea5p proxy c\u1ee7a b\u1ea1n c\u00f4ng b\u1ed1.<\/p>\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng bao gi\u1edd tin t\u01b0\u1edfng c\u00e1c header IP do kh\u00e1ch truy c\u1eadp t\u00f9y \u00fd cung c\u1ea5p.<\/p>\n\n<h2 id=\"h-does-nginx-rate-limiting-replace-ddos-protection\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Gioi_han_tan_suat_yeu_cau_cua_Nginx_co_thay_the_duoc_tinh_nang_bao_ve_chong_DDoS_khong\"><\/span>Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 thay th\u1ebf \u0111\u01b0\u1ee3c t\u00ednh n\u0103ng b\u1ea3o v\u1ec7 ch\u1ed1ng DDoS kh\u00f4ng?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng. Nginx c\u00f3 th\u1ec3 gi\u1edbi h\u1ea1n l\u01b0\u1ee3ng y\u00eau c\u1ea7u HTTP qu\u00e1 l\u1edbn \u0111\u1ebfn \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n, nh\u01b0ng kh\u00f4ng th\u1ec3 l\u1ecdc l\u01b0u l\u01b0\u1ee3ng \u0111\u00e3 l\u00e0m b\u00e3o h\u00f2a k\u1ebft n\u1ed1i m\u1ea1ng th\u01b0\u1ee3ng ngu\u1ed3n c\u1ee7a m\u00e1y ch\u1ee7.<\/p>\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 b\u1ea3o v\u1ec7 to\u00e0n di\u1ec7n h\u01a1n, h\u00e3y k\u1ebft h\u1ee3p c\u00e1c bi\u1ec7n ph\u00e1p ki\u1ec3m so\u00e1t \u1edf c\u1ea5p \u1ee9ng d\u1ee5ng v\u1edbi c\u00e1c bi\u1ec7n ph\u00e1p gi\u1ea3m thi\u1ec3u t\u1ea5n c\u00f4ng \u1edf c\u1ea5p d\u1ecbch v\u1ee5 l\u01b0u tr\u1eef.<\/p>\n\n<div class=\"wp-block-group zynoo-related-reading has-border-color has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-color:#c7d8ef;border-width:1px;border-radius:8px;border-left-color:#0069ff;border-left-width:3px;color:#24364f;background-color:#eaf2ff;margin-top:28px;margin-bottom:28px;padding-top:18px;padding-right:22px;padding-bottom:18px;padding-left:22px;font-size:16px;line-height:1.8\">\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/zynoo.com\/blog\/vi\/ddos-protection\/\">H\u01b0\u1edbng d\u1eabn b\u1ea3o v\u1ec7 ch\u1ed1ng DDoS<\/a> c\u1ee7a ch\u00fang t\u00f4i gi\u1ea3i th\u00edch c\u00e1ch c\u00e1c bi\u1ec7n ph\u00e1p ph\u00f2ng v\u1ec7 \u1edf c\u1ea5p \u0111\u1ed9 m\u1ea1ng v\u00e0 c\u1ea5p \u0111\u1ed9 \u1ee9ng d\u1ee5ng b\u1ed5 tr\u1ee3 cho nhau.<\/p>\n<\/div>\n\n<h2 id=\"h-frequently-asked-questions\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cau_hoi_thuong_gap\"><\/span>C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1793660043387\"><strong class=\"schema-faq-question\">T\u00ednh n\u0103ng gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?<\/strong> <p class=\"schema-faq-answer\">C\u00f3. Nginx Open Source bao g\u1ed3m m\u00f4-\u0111un limit_req.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793660061241\"><strong class=\"schema-faq-question\">Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 th\u1ec3 ch\u1eb7n kh\u00e1ch truy c\u1eadp h\u1ee3p l\u1ec7 kh\u00f4ng?<\/strong> <p class=\"schema-faq-answer\">C\u00f3. C\u00e0i \u0111\u1eb7t qu\u00e1 nghi\u00eam ng\u1eb7t c\u00f3 th\u1ec3 t\u1eeb ch\u1ed1i c\u00e1c y\u00eau c\u1ea7u h\u1ee3p l\u1ec7, \u0111\u1eb7c bi\u1ec7t khi nhi\u1ec1u ng\u01b0\u1eddi d\u00f9ng d\u00f9ng chung m\u1ed9t \u0111\u1ecba ch\u1ec9 IP. H\u00e3y ki\u1ec3m tra \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed tr\u01b0\u1edbc khi b\u1eadt t\u00ednh n\u0103ng t\u1eeb ch\u1ed1i y\u00eau c\u1ea7u.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793660073589\"><strong class=\"schema-faq-question\">Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 ho\u1ea1t \u0111\u1ed9ng v\u1edbi API kh\u00f4ng?<\/strong> <p class=\"schema-faq-answer\">C\u00f3. T\u00ednh n\u0103ng n\u00e0y \u0111\u1eb7c bi\u1ec7t h\u1eefu \u00edch \u0111\u1ec3 ki\u1ec3m so\u00e1t l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn g\u1eedi \u0111\u1ebfn c\u00e1c \u0111i\u1ec3m cu\u1ed1i API v\u00e0 nh\u1eefng \u0111\u01b0\u1eddng d\u1eabn kh\u00e1c c\u1ee7a \u1ee9ng d\u1ee5ng ti\u00eau t\u1ed1n nhi\u1ec1u t\u00e0i nguy\u00ean.<\/p> <\/div> <\/div>\n\n<h2 id=\"h-conclusion\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ket_luan\"><\/span>K\u1ebft lu\u1eadn<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Nginx cung c\u1ea5p t\u00ednh n\u0103ng gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u t\u00edch h\u1ee3p, gi\u00fap gi\u1ea3m l\u01b0u l\u01b0\u1ee3ng <a href=\"https:\/\/en.wikipedia.org\/wiki\/HTTP\">HTTP<\/a> g\u00e2y h\u1ea1i m\u00e0 kh\u00f4ng c\u1ea7n c\u00e0i th\u00eam ph\u1ea7n m\u1ec1m.<\/p>\n\n<p class=\"wp-block-paragraph\">H\u00e3y c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u, ki\u1ec3m tra \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed v\u00e0 ch\u1ec9 b\u1eadt t\u00ednh n\u0103ng t\u1eeb ch\u1ed1i y\u00eau c\u1ea7u sau khi xem x\u00e9t k\u1ebft qu\u1ea3.<\/p>\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 b\u1ea3o v\u1ec7 m\u00e1y ch\u1ee7 to\u00e0n di\u1ec7n, h\u00e3y s\u1eed d\u1ee5ng gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u00f9ng v\u1edbi bi\u1ec7n ph\u00e1p gi\u1ea3m thi\u1ec3u DDoS ph\u00f9 h\u1ee3p \u1edf ph\u00eda th\u01b0\u1ee3ng ngu\u1ed3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx l\u00e0 t\u00ednh n\u0103ng t\u00edch h\u1ee3p gi\u00fap ki\u1ec3m so\u00e1t s\u1ed1 l\u01b0\u1ee3ng y\u00eau c\u1ea7u HTTP m\u00e0 m\u1ed9t m\u00e1y kh\u00e1ch c\u00f3 th\u1ec3 g\u1eedi trong m\u1ed9t kho\u1ea3ng th\u1eddi gian nh\u1ea5t \u0111\u1ecbnh. T\u00ednh n\u0103ng n\u00e0y c\u00f3 th\u1ec3 gi\u1ea3m l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp g\u00e2y h\u1ea1i nh\u1eafm v\u00e0o API, trang \u0111\u0103ng nh\u1eadp v\u00e0 c\u00e1c [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":5991,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[654],"tags":[],"class_list":["post-5990","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-huong-dan-linux"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu<\/title>\n<meta name=\"description\" content=\"C\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu, ki\u1ec3m tra an to\u00e0n \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed v\u00e0 b\u1ea3o v\u1ec7 website ho\u1eb7c API c\u1ee7a b\u1ea1n kh\u1ecfi l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu\" \/>\n<meta property=\"og:description\" content=\"C\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu, ki\u1ec3m tra an to\u00e0n \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed v\u00e0 b\u1ea3o v\u1ec7 website ho\u1eb7c API c\u1ee7a b\u1ea1n kh\u1ecfi l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/\" \/>\n<meta property=\"og:site_name\" content=\"ZYNOO Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-02T23:03:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-02T23:08:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Rate-Limiting.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Adam Weller\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adam Weller\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/\"},\"author\":{\"name\":\"Adam Weller\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#\\\/schema\\\/person\\\/dc0f08d1e3da74e3d4ae21a072525738\"},\"headline\":\"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu\",\"datePublished\":\"2026-11-02T23:03:34+00:00\",\"dateModified\":\"2026-11-02T23:08:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/\"},\"wordCount\":2263,\"publisher\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Rate-Limiting.webp\",\"articleSection\":[\"H\u01b0\u1edbng d\u1eabn Linux\"],\"inLanguage\":\"vi\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/\",\"name\":\"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Rate-Limiting.webp\",\"datePublished\":\"2026-11-02T23:03:34+00:00\",\"dateModified\":\"2026-11-02T23:08:03+00:00\",\"description\":\"C\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu, ki\u1ec3m tra an to\u00e0n \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed v\u00e0 b\u1ea3o v\u1ec7 website ho\u1eb7c API c\u1ee7a b\u1ea1n kh\u1ecfi l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660043387\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660061241\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660073589\"}],\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#primaryimage\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Rate-Limiting.webp\",\"contentUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Rate-Limiting.webp\",\"width\":1672,\"height\":941,\"caption\":\"Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"D\u1ecbch v\u1ee5 l\u01b0u tr\u1eef web\",\"item\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/category\\\/dich-vu-luu-tru-web\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#website\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/\",\"name\":\"Zynoo Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#organization\",\"name\":\"ZYNOO\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/logo.png\",\"width\":149,\"height\":31,\"caption\":\"ZYNOO\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#\\\/schema\\\/person\\\/dc0f08d1e3da74e3d4ae21a072525738\",\"name\":\"Adam Weller\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/adam-weller-v2-96x96.jpg\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/adam-weller-v2-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/adam-weller-v2-96x96.jpg\",\"caption\":\"Adam Weller\"},\"description\":\"Adam Weller covers web hosting, Linux and online projects for the ZYNOO blog.\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/author\\\/adam-weller\\\/\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660043387\",\"position\":1,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660043387\",\"name\":\"T\u00ednh n\u0103ng gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"C\u00f3. Nginx Open Source bao g\u1ed3m m\u00f4-\u0111un limit_req.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660061241\",\"position\":2,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660061241\",\"name\":\"Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 th\u1ec3 ch\u1eb7n kh\u00e1ch truy c\u1eadp h\u1ee3p l\u1ec7 kh\u00f4ng?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"C\u00f3. C\u00e0i \u0111\u1eb7t qu\u00e1 nghi\u00eam ng\u1eb7t c\u00f3 th\u1ec3 t\u1eeb ch\u1ed1i c\u00e1c y\u00eau c\u1ea7u h\u1ee3p l\u1ec7, \u0111\u1eb7c bi\u1ec7t khi nhi\u1ec1u ng\u01b0\u1eddi d\u00f9ng d\u00f9ng chung m\u1ed9t \u0111\u1ecba ch\u1ec9 IP. H\u00e3y ki\u1ec3m tra \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed tr\u01b0\u1edbc khi b\u1eadt t\u00ednh n\u0103ng t\u1eeb ch\u1ed1i y\u00eau c\u1ea7u.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660073589\",\"position\":3,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-rate-limiting\\\/#faq-question-1793660073589\",\"name\":\"Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 ho\u1ea1t \u0111\u1ed9ng v\u1edbi API kh\u00f4ng?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"C\u00f3. T\u00ednh n\u0103ng n\u00e0y \u0111\u1eb7c bi\u1ec7t h\u1eefu \u00edch \u0111\u1ec3 ki\u1ec3m so\u00e1t l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn g\u1eedi \u0111\u1ebfn c\u00e1c \u0111i\u1ec3m cu\u1ed1i API v\u00e0 nh\u1eefng \u0111\u01b0\u1eddng d\u1eabn kh\u00e1c c\u1ee7a \u1ee9ng d\u1ee5ng ti\u00eau t\u1ed1n nhi\u1ec1u t\u00e0i nguy\u00ean.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu","description":"C\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu, ki\u1ec3m tra an to\u00e0n \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed v\u00e0 b\u1ea3o v\u1ec7 website ho\u1eb7c API c\u1ee7a b\u1ea1n kh\u1ecfi l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/","og_locale":"vi_VN","og_type":"article","og_title":"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu","og_description":"C\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu, ki\u1ec3m tra an to\u00e0n \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed v\u00e0 b\u1ea3o v\u1ec7 website ho\u1eb7c API c\u1ee7a b\u1ea1n kh\u1ecfi l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn.","og_url":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/","og_site_name":"ZYNOO Blog","article_published_time":"2026-11-02T23:03:34+00:00","article_modified_time":"2026-11-02T23:08:03+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Rate-Limiting.webp","type":"image\/webp"}],"author":"Adam Weller","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Adam Weller","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#article","isPartOf":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/"},"author":{"name":"Adam Weller","@id":"https:\/\/zynoo.com\/blog\/vi\/#\/schema\/person\/dc0f08d1e3da74e3d4ae21a072525738"},"headline":"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu","datePublished":"2026-11-02T23:03:34+00:00","dateModified":"2026-11-02T23:08:03+00:00","mainEntityOfPage":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/"},"wordCount":2263,"publisher":{"@id":"https:\/\/zynoo.com\/blog\/vi\/#organization"},"image":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#primaryimage"},"thumbnailUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Rate-Limiting.webp","articleSection":["H\u01b0\u1edbng d\u1eabn Linux"],"inLanguage":"vi"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/","url":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/","name":"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu","isPartOf":{"@id":"https:\/\/zynoo.com\/blog\/vi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#primaryimage"},"image":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#primaryimage"},"thumbnailUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Rate-Limiting.webp","datePublished":"2026-11-02T23:03:34+00:00","dateModified":"2026-11-02T23:08:03+00:00","description":"C\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu, ki\u1ec3m tra an to\u00e0n \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed v\u00e0 b\u1ea3o v\u1ec7 website ho\u1eb7c API c\u1ee7a b\u1ea1n kh\u1ecfi l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn.","breadcrumb":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660043387"},{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660061241"},{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660073589"}],"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#primaryimage","url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Rate-Limiting.webp","contentUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Rate-Limiting.webp","width":1672,"height":941,"caption":"Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx"},{"@type":"BreadcrumbList","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zynoo.com\/blog\/vi\/"},{"@type":"ListItem","position":2,"name":"D\u1ecbch v\u1ee5 l\u01b0u tr\u1eef web","item":"https:\/\/zynoo.com\/blog\/vi\/category\/dich-vu-luu-tru-web\/"},{"@type":"ListItem","position":3,"name":"C\u00e1ch c\u1ea5u h\u00ecnh gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx tr\u00ean Ubuntu"}]},{"@type":"WebSite","@id":"https:\/\/zynoo.com\/blog\/vi\/#website","url":"https:\/\/zynoo.com\/blog\/vi\/","name":"Zynoo Blog","description":"","publisher":{"@id":"https:\/\/zynoo.com\/blog\/vi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zynoo.com\/blog\/vi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/zynoo.com\/blog\/vi\/#organization","name":"ZYNOO","url":"https:\/\/zynoo.com\/blog\/vi\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/zynoo.com\/blog\/vi\/#\/schema\/logo\/image\/","url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2025\/08\/logo.png","contentUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2025\/08\/logo.png","width":149,"height":31,"caption":"ZYNOO"},"image":{"@id":"https:\/\/zynoo.com\/blog\/vi\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zynoo.com\/blog\/vi\/#\/schema\/person\/dc0f08d1e3da74e3d4ae21a072525738","name":"Adam Weller","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/adam-weller-v2-96x96.jpg","url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/adam-weller-v2-96x96.jpg","contentUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/adam-weller-v2-96x96.jpg","caption":"Adam Weller"},"description":"Adam Weller covers web hosting, Linux and online projects for the ZYNOO blog.","url":"https:\/\/zynoo.com\/blog\/vi\/author\/adam-weller\/"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660043387","position":1,"url":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660043387","name":"T\u00ednh n\u0103ng gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"C\u00f3. Nginx Open Source bao g\u1ed3m m\u00f4-\u0111un limit_req.","inLanguage":"vi"},"inLanguage":"vi"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660061241","position":2,"url":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660061241","name":"Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 th\u1ec3 ch\u1eb7n kh\u00e1ch truy c\u1eadp h\u1ee3p l\u1ec7 kh\u00f4ng?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"C\u00f3. C\u00e0i \u0111\u1eb7t qu\u00e1 nghi\u00eam ng\u1eb7t c\u00f3 th\u1ec3 t\u1eeb ch\u1ed1i c\u00e1c y\u00eau c\u1ea7u h\u1ee3p l\u1ec7, \u0111\u1eb7c bi\u1ec7t khi nhi\u1ec1u ng\u01b0\u1eddi d\u00f9ng d\u00f9ng chung m\u1ed9t \u0111\u1ecba ch\u1ec9 IP. H\u00e3y ki\u1ec3m tra \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ea1y th\u1eed tr\u01b0\u1edbc khi b\u1eadt t\u00ednh n\u0103ng t\u1eeb ch\u1ed1i y\u00eau c\u1ea7u.","inLanguage":"vi"},"inLanguage":"vi"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660073589","position":3,"url":"https:\/\/zynoo.com\/blog\/vi\/nginx-rate-limiting\/#faq-question-1793660073589","name":"Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t y\u00eau c\u1ea7u c\u1ee7a Nginx c\u00f3 ho\u1ea1t \u0111\u1ed9ng v\u1edbi API kh\u00f4ng?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"C\u00f3. T\u00ednh n\u0103ng n\u00e0y \u0111\u1eb7c bi\u1ec7t h\u1eefu \u00edch \u0111\u1ec3 ki\u1ec3m so\u00e1t l\u01b0\u1ee3ng y\u00eau c\u1ea7u qu\u00e1 l\u1edbn g\u1eedi \u0111\u1ebfn c\u00e1c \u0111i\u1ec3m cu\u1ed1i API v\u00e0 nh\u1eefng \u0111\u01b0\u1eddng d\u1eabn kh\u00e1c c\u1ee7a \u1ee9ng d\u1ee5ng ti\u00eau t\u1ed1n nhi\u1ec1u t\u00e0i nguy\u00ean.","inLanguage":"vi"},"inLanguage":"vi"}]}},"_links":{"self":[{"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/posts\/5990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/comments?post=5990"}],"version-history":[{"count":1,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/posts\/5990\/revisions"}],"predecessor-version":[{"id":5992,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/posts\/5990\/revisions\/5992"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/media\/5991"}],"wp:attachment":[{"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/media?parent=5990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/categories?post=5990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/tags?post=5990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}