{"id":5223,"date":"2026-11-01T12:40:00","date_gmt":"2026-11-01T12:40:00","guid":{"rendered":"https:\/\/zynoo.com\/blog\/nginx-reverse-proxy-ubuntu\/"},"modified":"2026-11-01T12:45:52","modified_gmt":"2026-11-01T12:45:52","slug":"nginx-reverse-proxy-ubuntu","status":"publish","type":"post","link":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/","title":{"rendered":"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"h-\"><strong>Proxy ng\u01b0\u1ee3c Nginx<\/strong> nh\u1eadn y\u00eau c\u1ea7u t\u1eeb kh\u00e1ch truy c\u1eadp trang web r\u1ed3i chuy\u1ec3n ti\u1ebfp \u0111\u1ebfn m\u1ed9t m\u00e1y ch\u1ee7 ho\u1eb7c \u1ee9ng d\u1ee5ng kh\u00e1c. Gi\u1ea3i ph\u00e1p n\u00e0y th\u01b0\u1eddng \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 cho ph\u00e9p truy c\u1eadp c\u00e1c \u1ee9ng d\u1ee5ng ch\u1ea1y tr\u00ean nh\u1eefng c\u1ed5ng nh\u01b0 3000 th\u00f4ng qua t\u00ean mi\u1ec1n m\u00e0 kh\u00f4ng \u0111\u1ec3 l\u1ed9 c\u00e1c c\u1ed5ng n\u1ed9i b\u1ed9 ra internet.<\/p>\n\n<p class=\"wp-block-paragraph\">Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, b\u1ea1n s\u1ebd c\u1ea5u h\u00ecnh Nginx tr\u00ean Ubuntu \u0111\u1ec3 chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn m\u1ed9t \u1ee9ng d\u1ee5ng c\u1ee5c b\u1ed9, k\u1ebft n\u1ed1i t\u00ean mi\u1ec1n v\u00e0 b\u1eadt HTTPS.<\/p>\n\n<h2 id=\"h-what-is-an-nginx-reverse-proxy\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Proxy_nguoc_Nginx_la_gi\"><\/span>Proxy ng\u01b0\u1ee3c Nginx l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Proxy ng\u01b0\u1ee3c n\u1eb1m gi\u1eefa kh\u00e1ch truy c\u1eadp v\u00e0 \u1ee9ng d\u1ee5ng backend c\u1ee7a b\u1ea1n.<\/p>\n\n<p class=\"wp-block-paragraph\">Thay v\u00ec k\u1ebft n\u1ed1i tr\u1ef1c ti\u1ebfp \u0111\u1ebfn \u1ee9ng d\u1ee5ng ch\u1ea1y tr\u00ean c\u1ed5ng 3000, kh\u00e1ch truy c\u1eadp k\u1ebft n\u1ed1i v\u1edbi Nginx qua c\u00e1c c\u1ed5ng HTTP ho\u1eb7c HTTPS ti\u00eau chu\u1ea9n.<\/p>\n\n<p class=\"wp-block-paragraph\">Nginx chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn \u1ee9ng d\u1ee5ng v\u00e0 tr\u1ea3 l\u1ea1i ph\u1ea3n h\u1ed3i c\u1ee7a \u1ee9ng d\u1ee5ng.<\/p>\n\n<p class=\"wp-block-paragraph\">Lu\u1ed3ng y\u00eau c\u1ea7u di\u1ec5n ra nh\u01b0 sau:<\/p>\n\n<p class=\"wp-block-paragraph\"><code>Kh\u00e1ch truy c\u1eadp \u2192 Nginx \u2192 \u1ee8ng d\u1ee5ng backend<\/code><\/p>\n\n<p class=\"wp-block-paragraph\">C\u00e1ch thi\u1ebft l\u1eadp n\u00e0y th\u01b0\u1eddng \u0111\u01b0\u1ee3c d\u00f9ng cho Node.js, Python v\u00e0 c\u00e1c \u1ee9ng d\u1ee5ng web kh\u00e1c. N\u00f3 c\u0169ng c\u00f3 th\u1ec3 h\u1ed7 tr\u1ee3 k\u1ebft th\u00fac k\u1ebft n\u1ed1i TLS, c\u00e2n b\u1eb1ng t\u1ea3i v\u00e0 x\u1eed l\u00fd y\u00eau c\u1ea7u t\u1eadp trung.<\/p>\n\n<div style=\"background:linear-gradient(110deg,#06347d,#0862d8);border-radius:10px;padding:20px 24px;margin:28px 0;color:#fff;font-family:inherit\">\n  <div style=\"display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap\">\n    <div style=\"flex:1 1 230px\">\n      <div style=\"font-size:17px;font-weight:700;line-height:1.4;margin-bottom:5px\">\n        B\u1ea1n c\u1ea7n VPS \u0111\u1ec3 thi\u1ebft l\u1eadp Nginx?\n      <\/div>\n      <div style=\"font-size:13px;line-height:1.6;color:#e1edff\">\n        Tri\u1ec3n khai \u1ee9ng d\u1ee5ng v\u1edbi quy\u1ec1n truy c\u1eadp root v\u00e0 t\u00e0i nguy\u00ean m\u00e1y ch\u1ee7 linh ho\u1ea1t.\n      <\/div>\n    <\/div>\n    <a href=\"https:\/\/zynoo.com\/vps-hosting.html\" style=\"display:inline-block;background:#fff;color:#073b90;padding:11px 17px;border-radius:6px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap\">\n      Kh\u00e1m ph\u00e1 c\u00e1c g\u00f3i VPS \u2192\n    <\/a>\n  <\/div>\n<\/div>\n\n<h2 id=\"h-prerequisites\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Yeu_cau_truoc_khi_bat_dau\"><\/span>Y\u00eau c\u1ea7u tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u, b\u1ea1n c\u1ea7n:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>M\u1ed9t m\u00e1y ch\u1ee7 Ubuntu 24.04 LTS c\u00f3 quy\u1ec1n truy c\u1eadp sudo.<\/li>\n\n\n\n<li>Quy\u1ec1n truy c\u1eadp m\u00e1y ch\u1ee7 qua SSH.<\/li>\n\n\n\n<li>M\u1ed9t t\u00ean mi\u1ec1n tr\u1ecf \u0111\u1ebfn \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7.<\/li>\n\n\n\n<li>M\u1ed9t \u1ee9ng d\u1ee5ng backend l\u1eafng nghe tr\u00ean c\u1ed5ng c\u1ee5c b\u1ed9.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Trong v\u00ed d\u1ee5 n\u00e0y, ch\u00fang ta s\u1ebd d\u00f9ng c\u1ed5ng <code>3000<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu b\u1ea1n ch\u01b0a quen v\u1edbi SSH, h\u00e3y \u0111\u1ecdc <a href=\"https:\/\/zynoo.com\/blog\/vi\/ssh-commands\/\">h\u01b0\u1edbng d\u1eabn l\u1ec7nh SSH d\u00e0nh cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u<\/a> c\u1ee7a ch\u00fang t\u00f4i tr\u01b0\u1edbc khi ti\u1ebfp t\u1ee5c.<\/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-setup-Nginx-Reverse-Proxy-1024x576.webp\" alt=\"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx\" class=\"wp-image-5191\" srcset=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-1024x576.webp 1024w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-300x169.webp 300w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-768x432.webp 768w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-1536x864.webp 1536w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy.webp 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<h2 id=\"h-step-1-install-nginx-on-ubuntu\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_1_Cai_dat_Nginx_tren_Ubuntu\"><\/span>B\u01b0\u1edbc 1: C\u00e0i \u0111\u1eb7t Nginx tr\u00ean Ubuntu<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 <a href=\"https:\/\/zynoo.com\/blog\/vi\/debian-vs-ubuntu-vps\/\">Ubuntu<\/a> c\u1ee7a b\u1ea1n qua SSH.<\/p>\n\n<p class=\"wp-block-paragraph\">C\u1eadp nh\u1eadt danh m\u1ee5c g\u00f3i v\u00e0 c\u00e0i \u0111\u1eb7t Nginx:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install nginx -y<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra Nginx c\u00f3 \u0111ang ch\u1ea1y hay kh\u00f4ng:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">B\u1ea1n s\u1ebd th\u1ea5y tr\u1ea1ng th\u00e1i <code>active (running)<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu Nginx ch\u01b0a kh\u1edfi \u0111\u1ed9ng, h\u00e3y ch\u1ea1y:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 b\u1eb1ng tr\u00ecnh duy\u1ec7t. Trang ch\u00e0o m\u1eebng m\u1eb7c \u0111\u1ecbnh c\u1ee7a Nginx s\u1ebd xu\u1ea5t hi\u1ec7n n\u1ebfu truy c\u1eadp HTTP \u0111\u01b0\u1ee3c cho ph\u00e9p.<\/p>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu b\u1ea1n \u0111ang d\u00f9ng UFW, h\u00e3y cho ph\u00e9p l\u01b0u l\u01b0\u1ee3ng HTTP v\u00e0 HTTPS:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 'Nginx Full'<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">\u0110\u1ed3ng th\u1eddi, h\u00e3y ki\u1ec3m tra c\u00e1c quy t\u1eafc t\u01b0\u1eddng l\u1eeda \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh th\u00f4ng qua nh\u00e0 cung c\u1ea5p d\u1ecbch v\u1ee5 l\u01b0u tr\u1eef c\u1ee7a b\u1ea1n. \u0110\u1eebng t\u1eaft t\u01b0\u1eddng l\u1eeda ch\u1ec9 \u0111\u1ec3 c\u00f3 th\u1ec3 truy c\u1eadp Nginx.<\/p>\n\n<h2 id=\"h-step-2-start-a-test-backend-application\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_2_Khoi_chay_ung_dung_backend_de_kiem_tra\"><\/span>B\u01b0\u1edbc 2: Kh\u1edfi ch\u1ea1y \u1ee9ng d\u1ee5ng backend \u0111\u1ec3 ki\u1ec3m tra<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc khi c\u1ea5u h\u00ecnh proxy ng\u01b0\u1ee3c, ch\u00fang ta c\u1ea7n m\u1ed9t \u1ee9ng d\u1ee5ng \u0111\u1ec3 Nginx chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn.<\/p>\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 ki\u1ec3m tra \u0111\u01a1n gi\u1ea3n, h\u00e3y t\u1ea1o m\u1ed9t th\u01b0 m\u1ee5c t\u1ea1m:<\/p>\n\n<pre class=\"wp-block-code\"><code>mkdir -p ~\/nginx-proxy-test\ncd ~\/nginx-proxy-test<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">T\u1ea1o m\u1ed9t trang HTML c\u01a1 b\u1ea3n:<\/p>\n\n<pre class=\"wp-block-code\"><code>echo '&lt;h1&gt;Nginx Reverse Proxy Works!&lt;\/h1&gt;' &gt; index.html<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">B\u00e2y gi\u1edd, h\u00e3y kh\u1edfi ch\u1ea1y m\u00e1y ch\u1ee7 HTTP t\u00edch h\u1ee3p s\u1eb5n c\u1ee7a Python:<\/p>\n\n<pre class=\"wp-block-code\"><code>python3 -m http.server 3000 --bind 127.0.0.1<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Thao t\u00e1c n\u00e0y cung c\u1ea5p trang th\u1eed nghi\u1ec7m c\u1ee7a b\u1ea1n tr\u00ean c\u1ed5ng 3000, ch\u1ec9 c\u00f3 th\u1ec3 truy c\u1eadp qua \u0111\u1ecba ch\u1ec9 loopback c\u1ee5c b\u1ed9.<\/p>\n\n<p class=\"wp-block-paragraph\">Gi\u1eef phi\u00ean terminal n\u00e0y ch\u1ea1y v\u00e0 m\u1edf m\u1ed9t phi\u00ean SSH th\u1ee9 hai.<\/p>\n\n<p class=\"wp-block-paragraph\">X\u00e1c minh r\u1eb1ng \u1ee9ng d\u1ee5ng ph\u1ea3n h\u1ed3i:<\/p>\n\n<pre class=\"wp-block-code\"><code>curl http:\/\/127.0.0.1:3000<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">B\u1ea1n s\u1ebd th\u1ea5y:<\/p>\n\n<pre class=\"wp-block-code\"><code>&lt;h1&gt;Nginx Reverse Proxy Works!&lt;\/h1&gt;<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">M\u00e1y ch\u1ee7 Python n\u00e0y ch\u1ec9 d\u00f9ng \u0111\u1ec3 minh h\u1ecda. V\u1edbi \u1ee9ng d\u1ee5ng ch\u1ea1y trong m\u00f4i tr\u01b0\u1eddng production, h\u00e3y d\u00f9ng m\u00e1y ch\u1ee7 \u1ee9ng d\u1ee5ng v\u00e0 c\u00e1ch thi\u1ebft l\u1eadp qu\u1ea3n l\u00fd d\u1ecbch v\u1ee5 \u0111\u01b0\u1ee3c khuy\u1ebfn ngh\u1ecb cho \u1ee9ng d\u1ee5ng \u0111\u00f3.<\/p>\n\n<h2 id=\"h-step-3-create-an-nginx-reverse-proxy-configuration\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_3_Tao_cau_hinh_proxy_nguoc_Nginx\"><\/span>B\u01b0\u1edbc 3: T\u1ea1o c\u1ea5u h\u00ecnh proxy ng\u01b0\u1ee3c Nginx<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">T\u1ea1o m\u1ed9t kh\u1ed1i server m\u1edbi cho Nginx:<\/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 <code>app.example.com<\/code> b\u1eb1ng t\u00ean mi\u1ec1n th\u1ef1c t\u1ebf c\u1ee7a b\u1ea1n.<\/p>\n\n<p class=\"wp-block-paragraph\">Th\u00eam c\u1ea5u h\u00ecnh sau:<\/p>\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name app.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3000;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">L\u01b0u t\u1ec7p.<\/p>\n\n<h3 id=\"h-understanding-the-configuration\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tim_hieu_cau_hinh\"><\/span>T\u00ecm hi\u1ec3u c\u1ea5u h\u00ecnh<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<ul class=\"wp-block-list\">\n<li><code>listen 80<\/code> ti\u1ebfp nh\u1eadn c\u00e1c y\u00eau c\u1ea7u HTTP.<\/li>\n\n\n\n<li><code>server_name<\/code> ch\u1ec9 \u0111\u1ecbnh t\u00ean mi\u1ec1n m\u00e0 Nginx s\u1ebd x\u1eed l\u00fd.<\/li>\n\n\n\n<li><code>proxy_pass<\/code> chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn \u1ee9ng d\u1ee5ng tr\u00ean c\u1ed5ng 3000.<\/li>\n\n\n\n<li><code>proxy_set_header<\/code> chuy\u1ec3n th\u00f4ng tin h\u1eefu \u00edch v\u1ec1 y\u00eau c\u1ea7u ban \u0111\u1ea7u \u0111\u1ebfn backend.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Backend ph\u1ea3i hi\u1ec3u v\u00e0 x\u1eed l\u00fd an to\u00e0n c\u00e1c header \u0111\u01b0\u1ee3c chuy\u1ec3n ti\u1ebfp. Ch\u1ec9 c\u1ea5u h\u00ecnh \u1ee9ng d\u1ee5ng tin c\u1eady nh\u1eefng header n\u00e0y khi y\u00eau c\u1ea7u \u0111i qua proxy \u0111\u00e1ng tin c\u1eady c\u1ee7a b\u1ea1n.<\/p>\n\n<h2 id=\"h-step-4-enable-and-test-the-configuration\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_4_Bat_va_kiem_tra_cau_hinh\"><\/span>B\u01b0\u1edbc 4: B\u1eadt v\u00e0 ki\u1ec3m tra c\u1ea5u h\u00ecnh<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">B\u1eadt kh\u1ed1i server m\u1edbi c\u1ee7a b\u1ea1n:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ln -s \/etc\/nginx\/sites-available\/app.example.com \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu li\u00ean k\u1ebft \u0111\u00e3 t\u1ed3n t\u1ea1i, \u0111\u1eebng t\u1ea1o l\u1ea1i.<\/p>\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra c\u1ea5u h\u00ecnh \u0111\u1ec3 ph\u00e1t hi\u1ec7n l\u1ed7i:<\/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 c\u1ea5u h\u00ecnh Nginx:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reload nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">B\u00e2y gi\u1edd, h\u00e3y m\u1edf:<\/p>\n\n<p class=\"wp-block-paragraph\"><code>http:\/\/app.example.com<\/code><\/p>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu DNS tr\u1ecf \u0111\u1ebfn \u0111\u00fang m\u00e1y ch\u1ee7 v\u00e0 \u1ee9ng d\u1ee5ng backend th\u1eed nghi\u1ec7m v\u1eabn \u0111ang ch\u1ea1y, b\u1ea1n s\u1ebd th\u1ea5y:<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Nginx Reverse Proxy Works!<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu trang Nginx m\u1eb7c \u0111\u1ecbnh xu\u1ea5t hi\u1ec7n thay v\u00e0o \u0111\u00f3, h\u00e3y ki\u1ec3m tra b\u1ea3n ghi DNS c\u1ee7a t\u00ean mi\u1ec1n v\u00e0 c\u1ea5u h\u00ecnh <code>server_name<\/code>.<\/p>\n\n<h2 id=\"h-step-5-enable-https-with-let-s-encrypt\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_5_Bat_HTTPS_bang_Lets_Encrypt\"><\/span>B\u01b0\u1edbc 5: B\u1eadt HTTPS b\u1eb1ng Let&#8217;s Encrypt<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">\u0110\u1ed1i v\u1edbi trang web c\u00f4ng khai, h\u00e3y d\u00f9ng HTTPS thay v\u00ec \u0111\u1ec3 l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp kh\u00f4ng \u0111\u01b0\u1ee3c m\u00e3 h\u00f3a.<\/p>\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc ti\u00ean, h\u00e3y x\u00e1c nh\u1eadn t\u00ean mi\u1ec1n c\u1ee7a b\u1ea1n ph\u00e2n gi\u1ea3i \u0111\u1ebfn \u0111\u00fang m\u00e1y ch\u1ee7 v\u00e0 c\u1ed5ng 80 cho k\u1ebft n\u1ed1i \u0111\u1ebfn c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u01b0\u1ee3c. \u0110\u00e2y l\u00e0 nh\u1eefng \u0111i\u1ec1u ki\u1ec7n quan tr\u1ecdng \u0111\u1ed1i v\u1edbi quy tr\u00ecnh x\u00e1c th\u1ef1c ch\u1ee9ng ch\u1ec9 HTTP ti\u00eau chu\u1ea9n.<\/p>\n\n<p class=\"wp-block-paragraph\">C\u00e0i \u0111\u1eb7t Certbot theo ph\u01b0\u01a1ng ph\u00e1p ch\u00ednh th\u1ee9c s\u1eed d\u1ee5ng Snap:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo snap install --classic certbot<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">N\u1ebfu l\u1ec7nh <code>certbot<\/code> ch\u01b0a kh\u1ea3 d\u1ee5ng, h\u00e3y t\u1ea1o li\u00ean k\u1ebft cho l\u1ec7nh:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ln -s \/snap\/bin\/certbot \/usr\/local\/bin\/certbot<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00f3, y\u00eau c\u1ea7u c\u1ea5p ch\u1ee9ng ch\u1ec9:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo certbot --nginx -d app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">L\u00e0m theo c\u00e1c l\u1eddi nh\u1eafc. Certbot c\u00f3 th\u1ec3 l\u1ea5y ch\u1ee9ng ch\u1ec9 v\u00e0 c\u1ea5u h\u00ecnh Nginx \u0111\u1ec3 cung c\u1ea5p t\u00ean mi\u1ec1n c\u1ee7a b\u1ea1n qua HTTPS.<\/p>\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00f3, h\u00e3y ki\u1ec3m tra vi\u1ec7c gia h\u1ea1n ch\u1ee9ng ch\u1ec9:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo certbot renew --dry-run<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Truy c\u1eadp:<\/p>\n\n<pre class=\"wp-block-code\"><code>https:&#047;&#047;app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">\u1ee8ng d\u1ee5ng th\u1eed nghi\u1ec7m c\u1ee7a b\u1ea1n gi\u1edd s\u1ebd t\u1ea3i qua k\u1ebft n\u1ed1i \u0111\u01b0\u1ee3c m\u00e3 h\u00f3a.<\/p>\n\n<h2 id=\"h-step-6-verify-your-reverse-proxy\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Buoc_6_Xac_minh_proxy_nguoc\"><\/span>B\u01b0\u1edbc 6: X\u00e1c minh proxy ng\u01b0\u1ee3c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra ph\u1ea3n h\u1ed3i HTTPS:<\/p>\n\n<pre class=\"wp-block-code\"><code>curl -I https:\/\/app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">V\u1edbi backend Python trong v\u00ed d\u1ee5 n\u00e0y, ph\u1ea3n h\u1ed3i HTTP <code>200 OK<\/code> cho bi\u1ebft y\u00eau c\u1ea7u \u0111\u00e3 \u0111\u1ebfn \u1ee9ng d\u1ee5ng th\u00e0nh c\u00f4ng.<\/p>\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 ki\u1ec3m tra nh\u1eefng ti\u1ebfn tr\u00ecnh \u0111ang l\u1eafng nghe tr\u00ean m\u00e1y ch\u1ee7:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ss -ltnp<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Nginx \u0111\u00e3 c\u00e0i \u0111\u1eb7t s\u1ebd l\u1eafng nghe tr\u00ean c\u00e1c c\u1ed5ng HTTP v\u00e0 HTTPS c\u00f4ng khai \u0111\u00e3 c\u1ea5u h\u00ecnh, c\u00f2n backend trong v\u00ed d\u1ee5 l\u1eafng nghe tr\u00ean <code>127.0.0.1:3000<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">L\u01b0u \u00fd r\u1eb1ng m\u00e1y ch\u1ee7 Python t\u1ea1m th\u1eddi s\u1ebd d\u1eebng khi b\u1ea1n k\u1ebft th\u00fac phi\u00ean terminal c\u1ee7a n\u00f3. C\u00e1c \u1ee9ng d\u1ee5ng ch\u1ea1y trong m\u00f4i tr\u01b0\u1eddng production n\u00ean ho\u1ea1t \u0111\u1ed9ng d\u01b0\u1edbi s\u1ef1 qu\u1ea3n l\u00fd c\u1ee7a m\u1ed9t tr\u00ecnh gi\u00e1m s\u00e1t ti\u1ebfn tr\u00ecnh nh\u01b0 systemd.<\/p>\n\n<h2 id=\"h-common-nginx-reverse-proxy-problems\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cac_su_co_thuong_gap_voi_proxy_nguoc_Nginx\"><\/span>C\u00e1c s\u1ef1 c\u1ed1 th\u01b0\u1eddng g\u1eb7p v\u1edbi proxy ng\u01b0\u1ee3c Nginx<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<h3 id=\"h-502-bad-gateway\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"502_Bad_Gateway\"><\/span>502 Bad Gateway<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p class=\"wp-block-paragraph\">L\u1ed7i n\u00e0y th\u01b0\u1eddng c\u00f3 ngh\u0129a l\u00e0 Nginx kh\u00f4ng nh\u1eadn \u0111\u01b0\u1ee3c ph\u1ea3n h\u1ed3i h\u1ee3p l\u1ec7 t\u1eeb backend.<\/p>\n\n<p class=\"wp-block-paragraph\">H\u00e3y ki\u1ec3m tra \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n c\u00f3 \u0111ang ch\u1ea1y hay kh\u00f4ng v\u00e0 c\u1ed5ng trong <code>proxy_pass<\/code> c\u00f3 ch\u00ednh x\u00e1c hay kh\u00f4ng.<\/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\"><strong>H\u01b0\u1edbng d\u1eabn c\u1ee7a ch\u00fang t\u00f4i<\/strong> v\u1ec1 <a href=\"https:\/\/zynoo.com\/blog\/vi\/502-bad-gateway-nginx\/\">c\u00e1ch kh\u1eafc ph\u1ee5c l\u1ed7i 502 Bad Gateway trong Nginx<\/a> \u0111\u1ec1 c\u1eadp chi ti\u1ebft h\u01a1n \u0111\u1ebfn nh\u1eadt k\u00fd, c\u00e1c d\u1ecbch v\u1ee5 upstream v\u00e0 s\u1ef1 c\u1ed1 k\u1ebft n\u1ed1i.<\/p>\n<\/div>\n\n<h3 id=\"h-504-gateway-timeout\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"504_Gateway_Timeout\"><\/span>504 Gateway Timeout<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p class=\"wp-block-paragraph\">L\u1ed7i 504 x\u1ea3y ra khi gateway kh\u00f4ng nh\u1eadn \u0111\u01b0\u1ee3c ph\u1ea3n h\u1ed3i c\u1ea7n thi\u1ebft t\u1eeb upstream \u0111\u00fang th\u1eddi h\u1ea1n.<\/p>\n\n<p class=\"wp-block-paragraph\">H\u00e3y t\u00ecm nguy\u00ean nh\u00e2n khi\u1ebfn y\u00eau c\u1ea7u \u1ee9ng d\u1ee5ng x\u1eed l\u00fd ch\u1eadm v\u00e0 ki\u1ec3m tra hi\u1ec7u su\u1ea5t backend tr\u01b0\u1edbc khi t\u0103ng th\u1eddi gian ch\u1edd.<\/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\"><strong>Xem<\/strong> <a href=\"https:\/\/zynoo.com\/blog\/vi\/504-gateway-timeout\/\">h\u01b0\u1edbng d\u1eabn kh\u1eafc ph\u1ee5c l\u1ed7i 504 Gateway Timeout c\u1ee7a ch\u00fang t\u00f4i<\/a> \u0111\u1ec3 bi\u1ebft th\u00eam c\u00e1ch x\u1eed l\u00fd.<\/p>\n<\/div>\n\n<h3 id=\"h-the-domain-doesn-t-load\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Khong_truy_cap_duoc_ten_mien\"><\/span>Kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c t\u00ean mi\u1ec1n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p class=\"wp-block-paragraph\">H\u00e3y ki\u1ec3m tra b\u1ea3n ghi A c\u1ee7a t\u00ean mi\u1ec1n c\u00f3 tr\u1ecf \u0111\u1ebfn \u0111\u00fang \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai hay kh\u00f4ng, c\u00e1c c\u1ed5ng li\u00ean quan tr\u00ean t\u01b0\u1eddng l\u1eeda \u0111\u00e3 \u0111\u01b0\u1ee3c m\u1edf hay ch\u01b0a v\u00e0 kh\u1ed1i server c\u1ee7a Nginx c\u00f3 kh\u1edbp v\u1edbi t\u00ean m\u00e1y ch\u1ee7 \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u hay kh\u00f4ng.<\/p>\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-1793536198078\"><strong class=\"schema-faq-question\">proxy_pass trong Nginx l\u00e0 g\u00ec?<\/strong> <p class=\"schema-faq-answer\">proxy_pass cho Nginx bi\u1ebft n\u01a1i c\u1ea7n chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u, ch\u1eb3ng h\u1ea1n m\u1ed9t \u1ee9ng d\u1ee5ng HTTP ch\u1ea1y tr\u00ean 127.0.0.1:3000.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793536226833\"><strong class=\"schema-faq-question\">Proxy ng\u01b0\u1ee3c Nginx c\u00f3 th\u1ec3 chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn nhi\u1ec1u \u1ee9ng d\u1ee5ng kh\u00f4ng?<\/strong> <p class=\"schema-faq-answer\">C\u00f3. B\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh c\u00e1c t\u00ean mi\u1ec1n, t\u00ean mi\u1ec1n ph\u1ee5 ho\u1eb7c \u0111\u01b0\u1eddng d\u1eabn URL ri\u00eang bi\u1ec7t \u0111\u1ec3 chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn c\u00e1c \u1ee9ng d\u1ee5ng backend kh\u00e1c nhau.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793536270612\"><strong class=\"schema-faq-question\">T\u00f4i c\u00f3 c\u1ea7n t\u00ean mi\u1ec1n \u0111\u1ec3 d\u00f9ng proxy ng\u01b0\u1ee3c Nginx kh\u00f4ng?<\/strong> <p class=\"schema-faq-answer\">Kh\u00f4ng. B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra proxy ng\u01b0\u1ee3c b\u1eb1ng \u0111\u1ecba ch\u1ec9 IP ho\u1eb7c trong m\u00f4i tr\u01b0\u1eddng c\u1ee5c b\u1ed9. Tuy nhi\u00ean, t\u00ean mi\u1ec1n gi\u00fap vi\u1ec7c cung c\u1ea5p d\u1ecbch v\u1ee5 c\u00f4ng khai v\u00e0 l\u1ea5y ch\u1ee9ng ch\u1ec9 HTTPS ti\u00eau chu\u1ea9n tr\u1edf n\u00ean \u0111\u01a1n gi\u1ea3n h\u01a1n.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793536281086\"><strong class=\"schema-faq-question\">Proxy ng\u01b0\u1ee3c Nginx c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?<\/strong> <p class=\"schema-faq-answer\">C\u00f3. Nginx m\u00e3 ngu\u1ed3n m\u1edf h\u1ed7 tr\u1ee3 ch\u1ee9c n\u0103ng proxy ng\u01b0\u1ee3c m\u00e0 kh\u00f4ng c\u1ea7n gi\u1ea5y ph\u00e9p th\u01b0\u01a1ng m\u1ea1i.<\/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\">B\u1ea1n \u0111\u00e3 c\u1ea5u h\u00ecnh proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu, chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn m\u1ed9t \u1ee9ng d\u1ee5ng c\u1ee5c b\u1ed9 v\u00e0 b\u1eadt HTTPS.<\/p>\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng c\u1ea5u h\u00ecnh c\u01a1 b\u1ea3n t\u01b0\u01a1ng t\u1ef1 cho Node.js, <a href=\"https:\/\/www.python.org\/downloads\/\">Python<\/a> v\u00e0 c\u00e1c \u1ee9ng d\u1ee5ng d\u1ef1a tr\u00ean HTTP kh\u00e1c b\u1eb1ng c\u00e1ch c\u1eadp nh\u1eadt \u0111\u1ecba ch\u1ec9 backend trong <code>proxy_pass<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng c\u00e1ch thi\u1ebft l\u1eadp n\u00e0y trong m\u00f4i tr\u01b0\u1eddng production, h\u00e3y \u0111\u1ea3m b\u1ea3o \u1ee9ng d\u1ee5ng t\u1ef1 \u0111\u1ed9ng kh\u1edfi \u0111\u1ed9ng, ch\u1ea1y v\u1edbi quy\u1ec1n ph\u00f9 h\u1ee3p v\u00e0 c\u00f3 c\u00e1c bi\u1ec7n ph\u00e1p gi\u00e1m s\u00e1t, b\u1ea3o m\u1eadt \u0111\u1ea7y \u0111\u1ee7.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Proxy ng\u01b0\u1ee3c Nginx nh\u1eadn y\u00eau c\u1ea7u t\u1eeb kh\u00e1ch truy c\u1eadp trang web r\u1ed3i chuy\u1ec3n ti\u1ebfp \u0111\u1ebfn m\u1ed9t m\u00e1y ch\u1ee7 ho\u1eb7c \u1ee9ng d\u1ee5ng kh\u00e1c. Gi\u1ea3i ph\u00e1p n\u00e0y th\u01b0\u1eddng \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 cho ph\u00e9p truy c\u1eadp c\u00e1c \u1ee9ng d\u1ee5ng ch\u1ea1y tr\u00ean nh\u1eefng c\u1ed5ng nh\u01b0 3000 th\u00f4ng qua t\u00ean mi\u1ec1n m\u00e0 kh\u00f4ng \u0111\u1ec3 l\u1ed9 c\u00e1c c\u1ed5ng n\u1ed9i b\u1ed9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5224,"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":[664],"class_list":["post-5223","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-huong-dan-linux","tag-huong-dan"],"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 thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu<\/title>\n<meta name=\"description\" content=\"T\u00ecm hi\u1ec3u c\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu, c\u1ea5u h\u00ecnh proxy_pass, k\u1ebft n\u1ed1i t\u00ean mi\u1ec1n, b\u1eadt HTTPS v\u00e0 ki\u1ec3m tra \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n.\" \/>\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-reverse-proxy-ubuntu\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu\" \/>\n<meta property=\"og:description\" content=\"T\u00ecm hi\u1ec3u c\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu, c\u1ea5u h\u00ecnh proxy_pass, k\u1ebft n\u1ed1i t\u00ean mi\u1ec1n, b\u1eadt HTTPS v\u00e0 ki\u1ec3m tra \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/\" \/>\n<meta property=\"og:site_name\" content=\"ZYNOO Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-01T12:40:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-01T12:45:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.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=\"Jamie Collins\" \/>\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=\"Jamie Collins\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 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-reverse-proxy-ubuntu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/\"},\"author\":{\"name\":\"Jamie Collins\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#\\\/schema\\\/person\\\/075b85b8be75fb370da34891a96e7eba\"},\"headline\":\"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu\",\"datePublished\":\"2026-11-01T12:40:00+00:00\",\"dateModified\":\"2026-11-01T12:45:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/\"},\"wordCount\":2289,\"publisher\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"keywords\":[\"h\u01b0\u1edbng d\u1eabn\"],\"articleSection\":[\"H\u01b0\u1edbng d\u1eabn Linux\"],\"inLanguage\":\"vi\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/\",\"name\":\"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"datePublished\":\"2026-11-01T12:40:00+00:00\",\"dateModified\":\"2026-11-01T12:45:52+00:00\",\"description\":\"T\u00ecm hi\u1ec3u c\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu, c\u1ea5u h\u00ecnh proxy_pass, k\u1ebft n\u1ed1i t\u00ean mi\u1ec1n, b\u1eadt HTTPS v\u00e0 ki\u1ec3m tra \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536198078\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536226833\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536270612\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536281086\"}],\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"contentUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"width\":1672,\"height\":941,\"caption\":\"Proxy ng\u01b0\u1ee3c Nginx\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#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 thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c 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\\\/075b85b8be75fb370da34891a96e7eba\",\"name\":\"Jamie Collins\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c9359158623ddee86ac8561e84de70f78b722c1d9018dd61d611ae19118a2d76?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c9359158623ddee86ac8561e84de70f78b722c1d9018dd61d611ae19118a2d76?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c9359158623ddee86ac8561e84de70f78b722c1d9018dd61d611ae19118a2d76?s=96&d=mm&r=g\",\"caption\":\"Jamie Collins\"},\"description\":\"Jamie Collins is a content writer with over 5+ years of experience in web hosting. He specializes in creating simple, practical guides that help readers understand hosting and make smarter online choices.\",\"sameAs\":[\"https:\\\/\\\/zynoo.com\\\/blog\\\/\"],\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/author\\\/willy\\\/\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536198078\",\"position\":1,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536198078\",\"name\":\"proxy_pass trong Nginx l\u00e0 g\u00ec?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"proxy_pass cho Nginx bi\u1ebft n\u01a1i c\u1ea7n chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u, ch\u1eb3ng h\u1ea1n m\u1ed9t \u1ee9ng d\u1ee5ng HTTP ch\u1ea1y tr\u00ean 127.0.0.1:3000.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536226833\",\"position\":2,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536226833\",\"name\":\"Proxy ng\u01b0\u1ee3c Nginx c\u00f3 th\u1ec3 chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn nhi\u1ec1u \u1ee9ng d\u1ee5ng kh\u00f4ng?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"C\u00f3. B\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh c\u00e1c t\u00ean mi\u1ec1n, t\u00ean mi\u1ec1n ph\u1ee5 ho\u1eb7c \u0111\u01b0\u1eddng d\u1eabn URL ri\u00eang bi\u1ec7t \u0111\u1ec3 chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn c\u00e1c \u1ee9ng d\u1ee5ng backend kh\u00e1c nhau.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536270612\",\"position\":3,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536270612\",\"name\":\"T\u00f4i c\u00f3 c\u1ea7n t\u00ean mi\u1ec1n \u0111\u1ec3 d\u00f9ng proxy ng\u01b0\u1ee3c Nginx kh\u00f4ng?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Kh\u00f4ng. B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra proxy ng\u01b0\u1ee3c b\u1eb1ng \u0111\u1ecba ch\u1ec9 IP ho\u1eb7c trong m\u00f4i tr\u01b0\u1eddng c\u1ee5c b\u1ed9. Tuy nhi\u00ean, t\u00ean mi\u1ec1n gi\u00fap vi\u1ec7c cung c\u1ea5p d\u1ecbch v\u1ee5 c\u00f4ng khai v\u00e0 l\u1ea5y ch\u1ee9ng ch\u1ec9 HTTPS ti\u00eau chu\u1ea9n tr\u1edf n\u00ean \u0111\u01a1n gi\u1ea3n h\u01a1n.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536281086\",\"position\":4,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/vi\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536281086\",\"name\":\"Proxy ng\u01b0\u1ee3c Nginx c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"C\u00f3. Nginx m\u00e3 ngu\u1ed3n m\u1edf h\u1ed7 tr\u1ee3 ch\u1ee9c n\u0103ng proxy ng\u01b0\u1ee3c m\u00e0 kh\u00f4ng c\u1ea7n gi\u1ea5y ph\u00e9p th\u01b0\u01a1ng m\u1ea1i.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu","description":"T\u00ecm hi\u1ec3u c\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu, c\u1ea5u h\u00ecnh proxy_pass, k\u1ebft n\u1ed1i t\u00ean mi\u1ec1n, b\u1eadt HTTPS v\u00e0 ki\u1ec3m tra \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n.","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-reverse-proxy-ubuntu\/","og_locale":"vi_VN","og_type":"article","og_title":"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu","og_description":"T\u00ecm hi\u1ec3u c\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu, c\u1ea5u h\u00ecnh proxy_pass, k\u1ebft n\u1ed1i t\u00ean mi\u1ec1n, b\u1eadt HTTPS v\u00e0 ki\u1ec3m tra \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n.","og_url":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/","og_site_name":"ZYNOO Blog","article_published_time":"2026-11-01T12:40:00+00:00","article_modified_time":"2026-11-01T12:45:52+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","type":"image\/webp"}],"author":"Jamie Collins","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Jamie Collins","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#article","isPartOf":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/"},"author":{"name":"Jamie Collins","@id":"https:\/\/zynoo.com\/blog\/vi\/#\/schema\/person\/075b85b8be75fb370da34891a96e7eba"},"headline":"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu","datePublished":"2026-11-01T12:40:00+00:00","dateModified":"2026-11-01T12:45:52+00:00","mainEntityOfPage":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/"},"wordCount":2289,"publisher":{"@id":"https:\/\/zynoo.com\/blog\/vi\/#organization"},"image":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#primaryimage"},"thumbnailUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","keywords":["h\u01b0\u1edbng d\u1eabn"],"articleSection":["H\u01b0\u1edbng d\u1eabn Linux"],"inLanguage":"vi"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/","url":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/","name":"C\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu","isPartOf":{"@id":"https:\/\/zynoo.com\/blog\/vi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#primaryimage"},"image":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#primaryimage"},"thumbnailUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","datePublished":"2026-11-01T12:40:00+00:00","dateModified":"2026-11-01T12:45:52+00:00","description":"T\u00ecm hi\u1ec3u c\u00e1ch thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c Nginx tr\u00ean Ubuntu, c\u1ea5u h\u00ecnh proxy_pass, k\u1ebft n\u1ed1i t\u00ean mi\u1ec1n, b\u1eadt HTTPS v\u00e0 ki\u1ec3m tra \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n.","breadcrumb":{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536198078"},{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536226833"},{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536270612"},{"@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536281086"}],"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#primaryimage","url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","contentUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","width":1672,"height":941,"caption":"Proxy ng\u01b0\u1ee3c Nginx"},{"@type":"BreadcrumbList","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#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 thi\u1ebft l\u1eadp proxy ng\u01b0\u1ee3c 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\/075b85b8be75fb370da34891a96e7eba","name":"Jamie Collins","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/secure.gravatar.com\/avatar\/c9359158623ddee86ac8561e84de70f78b722c1d9018dd61d611ae19118a2d76?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c9359158623ddee86ac8561e84de70f78b722c1d9018dd61d611ae19118a2d76?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c9359158623ddee86ac8561e84de70f78b722c1d9018dd61d611ae19118a2d76?s=96&d=mm&r=g","caption":"Jamie Collins"},"description":"Jamie Collins is a content writer with over 5+ years of experience in web hosting. He specializes in creating simple, practical guides that help readers understand hosting and make smarter online choices.","sameAs":["https:\/\/zynoo.com\/blog\/"],"url":"https:\/\/zynoo.com\/blog\/vi\/author\/willy\/"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536198078","position":1,"url":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536198078","name":"proxy_pass trong Nginx l\u00e0 g\u00ec?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"proxy_pass cho Nginx bi\u1ebft n\u01a1i c\u1ea7n chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u, ch\u1eb3ng h\u1ea1n m\u1ed9t \u1ee9ng d\u1ee5ng HTTP ch\u1ea1y tr\u00ean 127.0.0.1:3000.","inLanguage":"vi"},"inLanguage":"vi"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536226833","position":2,"url":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536226833","name":"Proxy ng\u01b0\u1ee3c Nginx c\u00f3 th\u1ec3 chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn nhi\u1ec1u \u1ee9ng d\u1ee5ng kh\u00f4ng?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"C\u00f3. B\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh c\u00e1c t\u00ean mi\u1ec1n, t\u00ean mi\u1ec1n ph\u1ee5 ho\u1eb7c \u0111\u01b0\u1eddng d\u1eabn URL ri\u00eang bi\u1ec7t \u0111\u1ec3 chuy\u1ec3n ti\u1ebfp y\u00eau c\u1ea7u \u0111\u1ebfn c\u00e1c \u1ee9ng d\u1ee5ng backend kh\u00e1c nhau.","inLanguage":"vi"},"inLanguage":"vi"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536270612","position":3,"url":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536270612","name":"T\u00f4i c\u00f3 c\u1ea7n t\u00ean mi\u1ec1n \u0111\u1ec3 d\u00f9ng proxy ng\u01b0\u1ee3c Nginx kh\u00f4ng?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Kh\u00f4ng. B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra proxy ng\u01b0\u1ee3c b\u1eb1ng \u0111\u1ecba ch\u1ec9 IP ho\u1eb7c trong m\u00f4i tr\u01b0\u1eddng c\u1ee5c b\u1ed9. Tuy nhi\u00ean, t\u00ean mi\u1ec1n gi\u00fap vi\u1ec7c cung c\u1ea5p d\u1ecbch v\u1ee5 c\u00f4ng khai v\u00e0 l\u1ea5y ch\u1ee9ng ch\u1ec9 HTTPS ti\u00eau chu\u1ea9n tr\u1edf n\u00ean \u0111\u01a1n gi\u1ea3n h\u01a1n.","inLanguage":"vi"},"inLanguage":"vi"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536281086","position":4,"url":"https:\/\/zynoo.com\/blog\/vi\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536281086","name":"Proxy ng\u01b0\u1ee3c Nginx c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"C\u00f3. Nginx m\u00e3 ngu\u1ed3n m\u1edf h\u1ed7 tr\u1ee3 ch\u1ee9c n\u0103ng proxy ng\u01b0\u1ee3c m\u00e0 kh\u00f4ng c\u1ea7n gi\u1ea5y ph\u00e9p th\u01b0\u01a1ng m\u1ea1i.","inLanguage":"vi"},"inLanguage":"vi"}]}},"_links":{"self":[{"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/posts\/5223","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/comments?post=5223"}],"version-history":[{"count":1,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/posts\/5223\/revisions"}],"predecessor-version":[{"id":5225,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/posts\/5223\/revisions\/5225"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/media\/5224"}],"wp:attachment":[{"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/media?parent=5223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/categories?post=5223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zynoo.com\/blog\/vi\/wp-json\/wp\/v2\/tags?post=5223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}