{"id":7,"date":"2024-01-21T21:30:37","date_gmt":"2024-01-21T12:30:37","guid":{"rendered":"https:\/\/blog.gerd.kr\/?p=7"},"modified":"2024-02-28T04:37:42","modified_gmt":"2024-02-27T19:37:42","slug":"truenas-%ec%97%90-nginx-%eb%a1%9c-reverseproxy-%ea%b5%ac%ec%b6%95","status":"publish","type":"post","link":"https:\/\/blog.gerd.kr\/?p=7","title":{"rendered":"TrueNAS \uc5d0 NginX \ub85c ReverseProxy \uad6c\ucd95"},"content":{"rendered":"\n<p>\ub098\uc2a4\ub97c \uc644\uc804\ud788 \ub0a0\ub824\ubc84\ub9ac\uace0 \uba58\ud0c8\uc774 \ud138\ub9b0 \uc0c1\ud0dc\ub85c \ucc98\uc74c\ubd80\ud130 \uae30\uc5b5\uc5d0 \uc758\uc874\ud574\uc11c \uc7ac\uad6c\ucd95\uc744 \uc2dc\uc791\ud588\ub2e4. \uc5ed\uc2dc \ube44\uc2b7\ud55c \uc9c0\uc810\uc5d0\uc11c \ub9c9\ud614\uace0, \uc544\uce74\uc774\ube0c \ud574 \ub454 \ubd81\ub9c8\ud06c\uac00 \ub3c4\uc6c0\uc774 \ub418\uc5c8\ub2e4. \uadf8\ub7ec\ub2c8 \uc774\ubc88\uc5d0\ub294 \uaf2d \ubc31\uc5c5\uc744 \uc798 \ud558\uc790\ub294 \ub2e4\uc9d0\uc744 \ud558\uba70 \uc0bd\uc9c8\uc758 \ud754\uc801\uc744 \ub2e4\uc2dc \ub0a8\uae34\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uc65c Reverse Proxy \ub97c \uad6c\ucd95\ud558\ub098?<\/h4>\n\n\n\n<p>\uc694\uc998 NAS \ub294 \ub3c4\ucee4\uac19\uc740 \ucee8\ud14c\uc774\ub108\ub97c \uc9c0\uc6d0\ud574\uc11c \ub9e4\uc6b0 \uac04\ub2e8\ud558\uac8c \uc5b4\ub5a4 \uc11c\ubc84\ub97c \uad6c\ucd95 \ud560 \uc218 \uc788\ub2e4. TrueNAS \ub294 Jail \uc774 \ube44\uc2a4\ubb34\ub9ac\ud55c \uac1c\ub150\uc778\ub370, \uc774\ub7f0 \ucee8\ud14c\uc774\ub108\ub3c4 \ub2f9\uc5f0\ud788 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ub418\uc5b4\uc57c \uc11c\ubc84\ub85c\uc11c \ub3d9\uc791\ud560 \uc218 \uc788\ub2e4. \uadf8\ub798\uc11c IP \ub97c \ubc1b\uc544\uc57c \ud558\ub294\ub370, \uac00\uc0c1\uc758 \uacf5\uc720\uae30\ub97c \ub9cc\ub4e4\uc5b4\uc11c IP \ub97c \ubc1b\ub294 NAT \ubc29\uc2dd\uc774 \uc788\uace0, \uac00\uc0c1\uc758 \ub124\ud2b8\uc6cc\ud06c\ub97c \ub9cc\ub4e4\uc5b4\uc11c NAS \uac00 \ubb3c\ub824\uc788\ub294 \uacf5\uc720\uae30\uc5d0\uac8c IP \ub97c \ubc1b\ub294 VNET \ubc29\uc2dd\uc774 \uc788\ub2e4. \ucc28\uc774\uac00 \uc788\uae34 \ud558\uc9c0\ub9cc, \uc5b4\ub290 \ucabd\uc774\ub4e0 \ub0b4\ubd80 IP ( \uc8fc\ub85c 192.168 \ub4f1\uc73c\ub85c \uc2dc\uc791\ud558\ub294 ) \ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 \uc778\ud130\ub137\uc5d0 \uc5f0\uacb0\ub41c \uacf5\uc720\uae30\ub294 \uc778\ud130\ub137 \ud68c\uc0ac( ISP ) \uc5d0\uc11c \ubcf4\ud1b5 \ud55c \uac1c\uc758 IP \ub97c \ubc1b\ub294\ub2e4. \uadf8 IP \ub97c 1.1.1.1 \ub77c\uace0 \ud558\uc790. \uc778\ud130\ub137\uc758 \ub204\uad70\uac00\uac00 1.1.1.1 \uc774\ub77c\uace0 \uc811\uc18d\ud558\uba74 \uc77c\ub2e8 \uacf5\uc720\uae30\uac00 &#8216;\uc800\uc694!&#8217; \ud558\uace0 \uc190\uc744 \ubc88\uca4d \ub4e0\ub2e4. \uadfc\ub370 \uacf5\uc720\uae30\ub294 \uc11c\ubc84\uac00 \uc544\ub2c8\uae30 \ub54c\ubb38\uc5d0 \uadf8 \ubd80\ub984\uc5d0 \ub2f5\uc744 \ud574 \uc904 \uc218\uac00 \uc5c6\ub2e4. \uacf5\uc720\uae30 \ubc11\uc5d0\ub294 \uc11c\ubc84\uac00 \ubd99\uc5b4 \uc788\uc9c0\ub9cc, 1.1.1.1 \uc740 \uc77c\ub2e8 \uacf5\uc720\uae30\ub97c \ubd80\ub974\ub294 \uac83\uc774\uae30 \ub54c\ubb38\uc5d0, \uacf5\uc720\uae30 \uc544\ub798\uc758 \uc11c\ubc84 \uc911 \ub204\uad6c\uc5d0\uac8c \ub300\ub2f5\uc744 \uc2dc\ucf1c\uc57c \ud560\uc9c0 \ubaa8\ub978\ub2e4. \ud55c\ucc38\uc744 \uace0\ubbfc\ud558\ub358 \uacf5\uc720\uae30\ub294 \uadf8\ub0e5 404 Not Found \uc5d0\ub7ec\ub97c \ub3cc\ub824\ubcf4\ub0b8\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub798\uc11c \ud3ec\ud2b8 \ud3ec\uc6cc\ub529\uc744 \uc774\uc6a9\ud574\uc11c \uacf5\uc720\uae30 \ubc11\uc758 \uc11c\ubc84\ub85c \uae38\uc744 \ud130 \uc900\ub2e4. \ubbf8\ub9ac \uacf5\uc720\uae30\uc5d0 \ud3ec\ud2b8 \ubc88\ud638\uc640 \ub0b4\ubd80 IP \ub97c \ub9e4\uce6d\ud574 \ub193\uace0, \uc678\ubd80 IP \ub4a4\uc5d0 \ud3ec\ud2b8 \ubc88\ud638\ub97c \ubd99\uc5ec\uc11c \uc811\uc18d\uc744 \ud55c\ub2e4. 1.1.1.1:3000 -&gt; 192.168.0.30 \uc774\ub7f0 \uc2dd\uc73c\ub85c.<\/p>\n\n\n\n<p>\ud3ec\ud2b8 \ud3ec\uc6cc\ub529\uc740 \uc27d\uace0 \uac04\ud3b8\ud558\ub2e4. \ubb34\uc5c7\ubcf4\ub2e4 \uc18d\ub3c4\uac00 \ube60\ub974\ub2e4. \uadf8\ub0e5 \uc22b\uc790 \ubcf4\uace0 \ud574\ub2f9 \uc11c\ubc84\ub85c \uc5f0\uacb0\uc2dc\ucf1c \uc8fc\ub2c8\uae4c \ubcc4\uac8c \uc788\ub098. \uc801\ub2f9\ud788 \ud55c\ub450\uac1c \uc815\ub3c4 \uc4f0\uba74 \uadf8\ub0e5 \ud3ec\ud2b8 \ud3ec\uc6cc\ub529\uc73c\ub85c \uc124\uc815\ud558\ub294\uac8c \uc27d\uace0 \ube60\ub974\uace0 \ud3b8\ud558\uace0 \uc88b\uc740\ub370, \uc5ec\uae30\uc11c \ubb54\uac00\ub97c \ub354 \ud558\ub824\uba74 \uc2ac\uc2ac \ub2f5\ub2f5\ud574\uc9c0\uae30 \uc2dc\uc791\ud55c\ub2e4. SSL \uc778\uc99d\uc11c (\uc774\ud558 HTTPS) \uac19\uc740\uac70\ub098, \uc11c\ube0c \ub3c4\uba54\uc778 \ub4f1\ub4f1&#8230;<\/p>\n\n\n\n<p>\ud3ec\ud2b8 \ud3ec\uc6cc\ub529\uc744 \uc774\uc6a9\ud574\ub3c4 \ubc29\ubc95\uc774 \uc5c6\ub294\uac83\uc740 \uc544\ub2c8\uc9c0\ub9cc, \uc778\uc99d\uc11c \uac19\uc740 \uac83\ub3c4 \uac01 \uc11c\ubc84\ubcc4\ub85c \ub530\ub85c \uad00\ub9ac\ud574\uc57c \ud558\uace0, \uc8fc\uc18c\ub97c \uae54\ub054\ud558\uac8c \uc904\uc774\ub824\uba74 \uc678\ubd80 \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud574\uc57c \ud558\ub294 \ub4f1\uc758 \ubd88\ud3b8\ud568\uc774 \uc788\ub294\ub370, \uc774\uac78 \ud55c\ubc29\uc5d0 \ud574\uacb0\ud560 \uc218 \uc788\ub294\uac8c Reverse Proxy \ub2e4.<\/p>\n\n\n\n<p>Web Application Firewall ( WAF ) \uc774\ub77c\uace0 \ud558\ub294\uac8c \uc774 Reverse Proxy \ub97c \uc774\uc6a9\ud55c\uac70\ub2e4. \uc778\uc99d\uc11c\ub3c4 \ud55c\ubc88\uc5d0 \ubab0\uc544\uc11c \uad00\ub9ac\ud560 \uc218 \uc788\uace0, \uac01 \ub0b4\ubd80 IP \uc5d0 \uc11c\ube0c\ub3c4\uba54\uc778\uc744 \ud560\ub2f9\ud558\ub294 \uac83\ub3c4 \ubc14\ub85c \ud560 \uc218 \uc788\ub2e4. \ubb34\uc5c7\ubcf4\ub2e4 \uc77c\ub2e8 Reverse Proxy \ub97c \uac70\uccd0\uc11c \ub0b4\ubd80\ub85c \ub4e4\uc5b4\uc640\uc57c \ud558\ub2c8\uae4c \ubcf4\uc548 \uce21\uba74\uc5d0\uc11c\ub3c4 \uc5c4\uccad\ub098\uac8c \ub3c4\uc6c0\uc774 \ub41c\ub2e4. Redis \uac19\uc740 \uac74 \uc815\ub9d0&#8230; <\/p>\n\n\n\n<p>\uc774\uc720\ub294 \uc774 \uc815\ub3c4\ub85c \ubd99\uc774\uace0 TrueNAS \uc5d0 \uc124\uc815\uc744 \uc2dc\uc791\ud55c\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\ud544\uc694\ud55c \uac83<\/h4>\n\n\n\n<p>\ub3c4\uba54\uc778\uc774 \uc788\uc5b4\uc57c \ud55c\ub2e4. DDNS \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud558\uac74, \uc801\ub2f9\ud55c \uc8fc\uc18c\ub97c \ub3c8\uc8fc\uace0 \uc0ac\ub358 \uc0c1\uad00 \uc5c6\ub2e4. DDNS \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud558\uba74 \uc11c\ube0c\ub3c4\uba54\uc778\uc744 \ud560\ub2f9\ud560 \uc218\uac00 \uc5c6\ub294\ub370, Reversr Proxy \uc5d0\uc11c \ub3c4\uba54\uc778 \uc8fc\uc18c \ub4a4\uc5d0 \uacbd\ub85c\ub97c \uc774\uc6a9\ud560 \uc218 \uc788\uc73c\ub2c8 \ubcc4 \ubb38\uc81c \uc5c6\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 Jail \ub85c \uad6c\ucd95\ud55c \uc801\ub2f9\ud55c \uc11c\ubc84. \ud14c\uc2a4\ud2b8 \ud574 \ubd10\uc57c \ud558\ub2c8\uae4c.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\ub3d9\uc791 \uc2dc\ub098\ub9ac\uc624<\/h4>\n\n\n\n<p>TrueNAS \uc5d0\ub294 \uc5ec\ub7ec\uac1c\uc758 Jail \uc774 \uad6c\ub3d9\ub418\uace0 \uc788\uace0, \uac01 Jail \uc740 VNET \uc73c\ub85c \uc124\uc815\ub418\uc5b4 \uacf5\uc720\uae30\uc758 DHCP \ub85c\ubd80\ud130 \ub0b4\ubd80 IP \ub97c \ubc1b\uace0 \uc788\ub2e4. <\/p>\n\n\n\n<p>gerd.kr \uc774\ub77c\ub294 \ub3c4\uba54\uc778\uc744 \uac00\uc9c0\uace0 \uc788\uace0, www.gerd.kr, blog.gerd.kr \ub4f1 \uc11c\ube0c\ub3c4\uba54\uc778\uc744 \uc774\uc6a9\ud558\uc5ec \uac01 Jail \uc5d0 \uc811\uc18d\ud558\ub824 \ud55c\ub2e4. <\/p>\n\n\n\n<p>\ube0c\ub77c\uc6b0\uc838\ub97c \uc5f4\uace0 \uc8fc\uc18c\ucc3d\uc5d0 blog.gerd.kr \uc774\ub77c\uace0 \uce58\uba74 \ud574\ub2f9 \ub3c4\uba54\uc778\uc5d0 \uc5f0\uacb0\ub41c \ub0b4\ubd80 ip (192.168.0.99) \uc758 jail \uc5d0\uc11c \uad6c\ub3d9\ub418\ub294 \uc11c\ube44\uc2a4\uac00 \ub3d9\uc791\ud55c\ub2e4. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uc791\uc5c5 \uc21c\uc11c<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Jail \uc744 \ub9cc\ub4e0\ub2e4. <\/li>\n\n\n\n<li>nginx \ub97c \uc124\uce58\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uc124\uc815 \ud30c\uc77c\uc744 \ud3b8\uc9d1\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uac01 \uc11c\ube0c\ub3c4\uba54\uc778 \ud639\uc740 IP \ubcc4\ub85c \uc124\uc815 \ud30c\uc77c\uc744 \ub9cc\ub4e0\ub2e4.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Jail \uc744 \ub9cc\ub4e0\ub2e4.<\/h4>\n\n\n\n<p>\uc774\ub984\uc740 \uc801\ub2f9\ud788, Base, \ucd5c\uc2e0 Release, DHCP, VNET \uc73c\ub85c \uc124\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">NginX \uc124\uce58<\/h4>\n\n\n\n<p>\ub9cc\ub4e0 Jail \uc744 \uae30\ub3d9\uc2dc\ud0a4\uace0, shell \uc744 \ub20c\ub7ec\uc11c shell \uc744 \uc5f0\ub2e4. \uadf8\ub9ac\uace0&#8230;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>shell &gt; pkg update &amp;&amp; pkg upgrade -y<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>shell &gt; pkg install nginx<\/code><\/pre>\n\n\n\n<p>\uc544\ub9c8 \uc790\ub3d9\uc73c\ub85c rc.d \uc5d0 \ub4f1\ub85d\ub420\ud150\ub370, \ud639\uc2dc \ub4f1\ub85d\ub418\uc9c0 \uc54a\uc558\ub2e4\uba74 \ub4f1\ub85d\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>shell &gt; sysrc nginx_enable=YES<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\uc124\uc815 \ud30c\uc77c \ud3b8\uc9d1<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>shell &gt; cd \/usr\/local\/etc\/nginx<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>shell &gt; vi nginx.conf<\/code><\/pre>\n\n\n\n<p>\uc774 \ud30c\uc77c\uc5d0 \ub2e4 \ub54c\ub824\ubc15\uc544\ub3c4 \ub418\uc9c0\ub9cc, \ud30c\uc77c\uc774 \ucee4\uc9c0\uba74 \uc0dd\uac01\ubcf4\ub2e4 \uad00\ub9ac\ud558\uae30 \ud798\ub4e4\ub2e4. \uc0c8\ub85c\uc6b4\uac70 \ucd94\uac00\ud558\uae30\ub3c4 \ud798\ub4e4\uace0&#8230; \uadf8\ub798\uc11c \ud3f4\ub354\ub97c \ub530\ub85c \ub9cc\ub4e4\uace0, \uac01 \uac00\uc0c1\uc11c\ubc84 \ubcc4\ub85c \uc124\uc815 \ud30c\uc77c\uc744 \ubd84\ub9ac\ud55c\ub2e4. \ub098\ub294 http { &#8230; } \ube14\ub85d\uc744 nginx.conf \uc5d0\uc11c \uad00\ub9ac\ud558\uace0, \ub0b4\ubd80\uc758 server { &#8230; } \ube14\ub85d\uc744 \uac1c\ubcc4 \ud30c\uc77c\ub85c \ub9cc\ub4e4\uc5b4 \uad00\ub9ac\ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">http {\n    include       mime.types;\n    default_type  application\/octet-stream;\n    sendfile        on;\n    #tcp_nopush     on;\n    keepalive_timeout  0;\n    #keepalive_timeout  65;\n    gzip  on;\n <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-orange-color\">  <\/mark><mark style=\"background-color:#ff8737\" class=\"has-inline-color\"> include .\/domains\/*.conf;<\/mark><\/strong>\n}<\/pre>\n\n\n\n<p>\uc635\uc158\uc740 \ub611\uac19\uc774 \ud574\ub3c4 \uc548\ud574\ub3c4 \uadf8\ub9cc\uc774\uc9c0\ub9cc, \uac15\uc870\ud55c \ubd80\ubd84\uc740 \ud2c0\ub9ac\uba74 \uc548 \ub41c\ub2e4. \ub098\ub294 \/usr\/local\/etc\/nginx \ud3f4\ub354 \uc548\uc5d0 domains \ub77c\ub294 \ud3f4\ub354\ub97c \ub9cc\ub4e4\uace0 \uc774 \ud3f4\ub354 \uc548\uc5d0 \uac01 \uac00\uc0c1\uc11c\ubc84 \ubcc4\ub85c conf \ud30c\uc77c\uc744 \ub9cc\ub4e4\uac70\ub77c \uc800\ub807\uac8c \uacbd\ub85c\ub97c \uc124\uc815\ud588\ub2e4. http { &#8230; } \ube14\ub85d \uc548\uc5d0 \uc6d0\ub798 \uc788\ub358 server { &#8230; } \ube14\ub85d\uc740 default.conf \ub77c\ub294 \ud30c\uc77c\ub85c \ub530\ub85c \ubd84\ub9ac\ud558\uc5ec domains \uc5d0 \uc800\uc7a5\ud588\ub2e4. \ub0b4\ubd80 ip \ub97c \uccd0\uc11c \uc811\uc18d\ud558\uba74 \uc774 default.conf \uc5d0 \uc124\uc815\ub41c \ub300\ub85c \ub3d9\uc791\ud55c\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uc11c\ube0c\ub3c4\uba54\uc778 ( \ud639\uc740 IP ) \ubcc4 \uc124\uc815<\/h4>\n\n\n\n<p>\uac01 \uac00\uc0c1\uc11c\ubc84 \ubcc4\ub85c \ud30c\uc77c\uc744 \ub9cc\ub4e4\uc5b4 \uc544\ub798 \ub0b4\uc6a9\uc744 \ubd99\uc5ec\ub123\uace0 \uc801\ub2f9\ud788 \uc218\uc815\ud55c\ub2e4. server_name \ubcc4\ub85c \uc124\uc815\ud30c\uc77c\uc774 \uc788\uc5b4\uc57c \ud558\uace0, \uacb9\uce58\uba74 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">server {\n    listen 80;\n    <mark style=\"background-color:#07d79c\" class=\"has-inline-color\"><strong>server_name blog.gerd.kr;<\/strong>\n<\/mark>\n    location \/ {\n       <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-green-color\"> <\/mark><mark style=\"background-color:#07d79c\" class=\"has-inline-color has-black-color\"><strong>proxy_pass<\/strong><\/mark><strong>          <\/strong><mark style=\"background-color:#07d79c\" class=\"has-inline-color has-black-color\"><strong>http:\/\/192.168.0.99;<\/strong><\/mark>\n        proxy_redirect      off;\n        proxy_set_header    Connection  \"\";\n        proxy_http_version  1.1;\n        proxy_set_header    Host        $http_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-For-Proto $scheme;\n        proxy_set_header    X-Forwarded-For-Host $host;\n    }\n}<\/pre>\n\n\n\n<p>\uc774 \ud30c\uc77c\uc744 \uc544\uae4c \ub9cc\ub4e0 domains \ud3f4\ub354\uc5d0 \uc801\ub2f9\ud55c \uc774\ub984.conf \ub85c \uc800\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\ud655\uc778<\/h4>\n\n\n\n<p>nginx \ub97c \uc7ac\uc2dc\uc791\ud574\uc11c \uc124\uc815\ud30c\uc77c\uc744 \uc801\uc6a9\uc2dc\ud0a8\ub2e4. <\/p>\n\n\n\n<p>shell &gt; service nginx restart<\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 \ube0c\ub77c\uc6b0\uc838\ub97c \uc5f4\uc5b4 \uc11c\ube44\uc2a4\uac00 \ub3d9\uc791\ud558\ub294\uc9c0 \ud655\uc778\ud55c\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ub098\uc2a4\ub97c \uc644\uc804\ud788 \ub0a0\ub824\ubc84\ub9ac\uace0 \uba58\ud0c8\uc774 \ud138\ub9b0 \uc0c1\ud0dc\ub85c \ucc98\uc74c\ubd80\ud130 \uae30\uc5b5\uc5d0 \uc758\uc874\ud574\uc11c \uc7ac\uad6c\ucd95\uc744 \uc2dc\uc791\ud588\ub2e4. \uc5ed\uc2dc \ube44\uc2b7\ud55c \uc9c0\uc810\uc5d0\uc11c \ub9c9\ud614\uace0, \uc544\uce74\uc774\ube0c \ud574 \ub454 \ubd81\ub9c8\ud06c\uac00 \ub3c4\uc6c0\uc774 \ub418\uc5c8\ub2e4. \uadf8\ub7ec\ub2c8 \uc774\ubc88\uc5d0\ub294 \uaf2d \ubc31\uc5c5\uc744 \uc798 \ud558\uc790\ub294 \ub2e4\uc9d0\uc744 \ud558\uba70 \uc0bd\uc9c8\uc758 \ud754\uc801\uc744 \ub2e4\uc2dc \ub0a8\uae34\ub2e4. \uc65c Reverse Proxy \ub97c \uad6c\ucd95\ud558\ub098? \uc694\uc998 NAS \ub294 \ub3c4\ucee4\uac19\uc740 \ucee8\ud14c\uc774\ub108\ub97c \uc9c0\uc6d0\ud574\uc11c \ub9e4\uc6b0 \uac04\ub2e8\ud558\uac8c \uc5b4\ub5a4 \uc11c\ubc84\ub97c \uad6c\ucd95 \ud560 \uc218 \uc788\ub2e4. TrueNAS \ub294 Jail [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[9,10,12,8,11],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-truenas","tag-nginx","tag-reverse-proxy","tag-setting","tag-truenas","tag-waf"],"_links":{"self":[{"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":17,"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":207,"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions\/207"}],"wp:attachment":[{"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gerd.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}