Nginx ¿£Áø¿¢½º À¥¼¹ö¿¡ HTTPS / SSL º¸¾ÈÀÎÁõ¼ ¼³Ä¡Çϱâ - ÄÚ¸®¾ÆSSL
Nginx ¿£Áø¿¢½º À¥¼¹ö¿¡ HTTPS / SSL º¸¾ÈÀÎÁõ¼ ¼³Ä¡Çϱâ - ÄÚ¸®¾ÆSSL
Nginx´Â ·¯½Ã¾ÆÀÇ ÇÁ·Î±×·¡¸Ó·Î ºÎÅÍ Åº»ýÇÑ ¾ÆÁÖ °¡º¿î À¥¼¹ö¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹°·Ð ¾ÆÁ÷µµ Apache¸¦ ¼±È£ÇϽô developerµéÀÌ ¸¹Áö¸¸ ÀúÈñ ȸ»ç°¡ ¼ºñ½º ¶Ç´Â °³¹ß ³³Ç°ÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ Java ±â¹ÝÀÌ´Ù º¸´Ï Nginx¸¦ Proxy ¸¦ »ç¿ëÇÏ°Ô µÇ´Â °Í °°½À´Ï´Ù.
ÇÁ·Ï½Ã(Proxy)´Â ´ëºÎºÐ LogicalÀûÀÎ ºÎÇϺлê(Load balancing)À» ¸ñÀûÀ¸·Î ÇÏ°í ÀÖ½À´Ï´Ù.
Application server°¡ Proxy ¹ØÀ¸·Î Á¸ÀçÇϹǷΠÃÖ´ëÇÑ Static ±¸°£¿¡¼ ºÎÇϸ¦ ºÐ»ê ÇÒ ÇÊ¿ä°¡ Àִ°ÍÀÌÁÒ.
±×·¡¼ ¿ì¸®´Â Ç×»ó Application server¿¡ Á÷Á¢ º¸¾ÈÀÎÁõ¼¸¦ ¼³Ä¡ÇÏÁö ¾Ê°í Proxy ¿ªÇÒÀ» ÇÏ´Â Nginx¿¡ ¼³Ä¡¸¦ ÇÕ´Ï´Ù.
ÀÌ°ÍÀº ºñ´Ü Nginx»Ó¸¸ ¾Æ´Ï¶ó Proxy¸¦ »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ Web server <----> App server Flow¿¡¼ ÀÚÁÖ º¼ ¼ö ÀÖ´Â ÇüÅÂÀÔ´Ï´Ù.
¼³Ä¡Áغñ
1. ÄÚ¸®¾Æ SSL¿¡¼ ÀÎÁõ¼ ±¸ÀÔ / ¹ß±Þ
2. Linux(CentOS 7) °è¿ OS ¶Ç´Â À©µµ¿ìÁî °è¿ ¼¹ö
3. Nginx °¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÔ. (¾Æ·¡ ¿¹Á¦´Â ver 1.16.1 ±âÁØ)
4. Nginx¿¡ SSLÀ» Áö¿øÇÏ´Â ¸ðµâÀÌ ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎ
5. Çϵå¿þ¾î/¼ÒÇÁÆ®¿þ¾î ¹æȺ®¿¡ 443 Port°¡ °³¹æµÇ¾î ÀÖ´ÂÁö È®ÀÎ
6. MacOS Å͹̳Π/ À©µµ¿ìÁî ssh ÀÀ¿ëÇÁ·Î±×·¥ µî Á¢¼Ó ÇÁ·Î±×·¥
°úÁ¤
Nginx ÀÇ °æ¿ì À§ ¹öÁ¯°ú »óÀÌÇصµ ¼³Á¤¿¡´Â Å©°Ô ¹®Á¦ ¾ø½À´Ï´Ù. ±×¸®°í ÀÌ °úÁ¤¿¡¼´Â ÀÌ¹Ì Nginx°¡ ¼³Ä¡µÇ¾ú´Ù´Â ÀüÁ¦·Î ÁøÇàµË´Ï´Ù.
¿ì¼± ÄÚ¸®¾ÆSSL ¿¡ Á¢¼ÓÇؼ ÀÎÁõ¼¸¦ ±¸ÀÔÇØ¾ß °ÚÁÒ? :) ^-^/
±¸ÀÔ ¹æ¹ý ¹× ÀÎÁõ¼ ´Ù¿î·Îµå ¹æ¹ýÀº ´ÙÀ½ ¸µÅ©¸¦ ÂüÁ¶ÇØÁÖ¼¼¿ä.
±× ´ÙÀ½ Å͹̳ο¡ Á¢¼ÓÀ» ÇÕ´Ï´Ù.
ÇØ´ç ÀÎÁõ±â°ü¿¡¼ Á÷Á¢ ÀÎÁõ¼¸¦ ¸ÞÀÏ·Î º¸³»ÁÖÁö¸¸ ÄÚ¸®¾ÆSSL¿¡¼µµ ´Ù¿î·Îµå °¡´ÉÇÕ´Ï´Ù.
´Ü, CSR »ý¼º´Ü°è¿¡¼ »ý¼ºµÈ Key ÆÄÀÏÀº ÄÚ¸®¾ÆSSL¿¡ º¸°üµÇÁö ¾Ê±â ¶§¹®¿¡ ºÐ½ÇÇÏ½Ã¸é ¹Ýµå½Ã ÀÎÁõ¼ Àç¹ß±ÞÀ» ½ÅûÇÏ¼Å¾ß ÇÕ´Ï´Ù.
°£È¤ ´Ù¸¥ ¾÷ü¿¡¼´Â Key ÆÄÀϱîÁö º¸°üÇÏ´Â °æ¿ì°¡ Àִµ¥ º¸¾È¿¡ ¸Å¿ì Ãë¾àÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¼¹ö¿¡ Key º¸°üº¸´Ù´Â Key ÆÄÀÏ ºÐ½Ç½Ã¿¡´Â Á¶±Ý ¹ø°Å·ÓÁö¸¸ Àç¹ß±ÞÀÌ º¸¾ÈÀûÀ¸·Îµµ Çö¸íÇÑ ¼±ÅÃÀÌ ¾Æ´Ò±î »ý°¢µË´Ï´Ù.
ÄÚ¸®¾ÆSSL ¿¡¼ ´Ù¿î·Îµå ÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀº ÃÑ 4°³ ÀÔ´Ï´Ù.
CSR(Certificate Signing Request) / CRT(¶Ç´Â CER) / CA / ÅëÇÕÀÎÁõ¼(CRT+CA)
CSR ÆÄÀÏÀº Á÷Á¢ »ý¼ºÇؼ Á¦ÃâÇÑ ÆÄÀÏ
CRT ÆÄÀÏÀº ½ÅûÇϽŠÀÎÁõ¼ ÆÄÀÏ
CA ÆÄÀÏÀº ÇØ´ç ÀÎÁõ¼ ÀÎÁõ±â°üÀÇ ROOT ÀÎÁõ¼ ÆÄÀÏ
ÅëÇÕÀÎÁõ¼ ÆÄÀÏÀº CRT ÆÄÀÏ°ú CA ÆÄÀÏÀ» ÅëÇÕÇÑ ¾ÈÁõ¼ ÆÄÀÏ
½ÇÁ¦ Nginx ¿¡ ¼³Ä¡¿¡ ÇÊ¿äÇÑ ÆÄÀÏÀº ÅëÇÕÀÎÁõ¼ ÆÄÀÏ°ú Key ÆÄÀÏÀÔ´Ï´Ù.
ÄÚ¸®¾ÆSSL¿¡¼´Â ÅëÇÕÀÎÁõ¼ ÆÄÀÏÀ» ½±°Ô ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
ÀÌÁ¦ ´Ù¿î·Îµå ¹ÞÀº ÅëÇÕÀÎÁõ¼ ÆÄÀÏ°ú ÀÌ¹Ì º¸°üÇÏ°í ÀÖ´Â Key ÆÄÀÏÀ» Àû¿ë ÇÒ ¼¹ö¿¡ ¾÷·Îµå ÇÏ½Ã¸é µË´Ï´Ù.
NginxÀÇ conf ÆÄÀÏÀ» ¿¡µðÅÍ·Î ÆíÁýÇÕ´Ï´Ù.
* ¼³Ä¡È¯°æ¿¡ µû¶ó ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.
* ¹ß±Þ¹ÞÀº µµ¸ÞÀÎ¸í¿¡ µû¶ó ÆÄÀϸíÀÌ ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.
ÄÚ¸®¾ÆSSL ¿¡¼ ¹ß±Þ¹ÞÀº ÀÎÁõ¼´Â
/etc/nginx/ssl °æ·Î¿¡ ¾÷·Îµå ÇÏ¿´½À´Ï´Ù.
¾Æ·¡ Code ¸¦ º¹»çÇÏ¿© »ç¿ëÇϼ¼¿ä.
À§¿Í °°ÀÌ ÀÎÁõ¼ °æ·Î¸¦ ÁöÁ¤ÇØÁÝ´Ï´Ù.
ÇØ´ç ¼³Á¤Àº ¼¹ö ȯ°æ¿¡ µû¶ó ´Ù¸¦ ¼ö ÀÖÀ¸´Ï Âü°í¿ëÀ¸·Î¸¸ È°¿ëÇϽñ⠹ٶø´Ï´Ù.
Áß¿äÇÑ ºÎºÐÀº ssl_certificate ¿Í ssl_certificate_key ÀÔ´Ï´Ù.
À§¿Í °°ÀÌ ¼³Á¤ ÈÄ Nginx¸¦ Àç½ÃÀÛ ÇϽøé SSL Àû¿ëÀÌ ¿Ï·á µË´Ï´Ù.
¾ÆÁÖ ½±ÁÒ ??? :)
ÇÏÁö¸¸ ¸í½ÉÇÒ ºÎºÐÀÌ ÀÖ½À´Ï´Ù.
¼¹öÀÇ ³×Æ®¿öÅ© ¹æȺ® °°Àº ºÎºÐÀÇ ¼³Á¤Àº ¹Ýµå½Ã È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
¾Æ½Ã´Ù½ÃÇÇ HTTPS/SSL Åë½ÅÀº ±âº»ÀûÀ¸·Î 443 Port¸¦ ÀÌ¿ëÇÕ´Ï´Ù. ¹°·Ð ´Ù¸¥ Port·Î Åë½ÅÀÌ ºÒ°¡´ÉÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ ±âº»Port´Â 443À̹ǷΠÇØ´ç Port°¡ OpenµÇ¾î ÀÖ´Â ¹Ýµå½Ã È®ÀÎÇÏ¼Å¾ß ÇÕ´Ï´Ù.
°¨»çÇÕ´Ï´Ù.