<h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eeeeee;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';white-space:normal;">1. SSL 인증서, Letsencrypt란?</h2> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">웹사이트를 서비스 한다면, SSL 인증서를 도입 하여 사용자와 서버 간의 통신을 HTTPS를 통해 암호화 하는 것 정도는 매우 당연한 시대가 되었습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">SSL 인증서를 알기 위해서, 먼저 간단하게 암호화 통신에 대해 알아 봅시다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">HTTP를 포함해 서버와 클라이언트 간의 데이터 통신을 할 경우, 암호화를 하지 않는다면 모든 데이터는 평문 (plain text)로 전송을 하게 됩니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">예를 들어, 여러분이 어떤 웹사이트에 로그인을 할 때, 아이디 및 비밀번호를 입력 후 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">로그인</code> 버튼을 누르는 순간, 여러분이 입력한 데이터를 서버에 전송합니다. 이 때, 해당 로그인 요청 이 암호화 되지 않은 HTTP Request 라면, 전송하는 TCP 패킷의 데이터는 암호화가 적용되지 않고 전송이 됩니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">여러분의 컴퓨터에서 출발한 패킷은 여러 대의 라우터를 거쳐 서버에 도달하게 되는데, 중간의 어딘가에서 만약 전송되는 모든 패킷을 캡쳐하고 있다면, 여러분의 아이디 및 패스워드는 누군가에게 쉽게 탈취당할 수 있다는 의미입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">파일 전송을 위해 많이 사용되는 FTP의 경우에도, 만약 파일 1개를 전송할 때 발생한 모든 패킷을 캡쳐하여 필요없는 헤더를 잘라내고 데이터 부분만 합치면 실제 전송된 파일과 똑같은 파일이 만들어집니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이렇게 패킷을 탈취하는 것을 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">패킷 스니핑</code> 이라고 합니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이러한 보안상의 헛점을 보완하기 위한 기술이 암호화 기술입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">암호화를 적용하면, 서버와 클라이언트 간의 통신 데이터가 모두 암호화가 되기 때문에 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">패킷 스니핑</code>을 당하더라도, 범인은 데이터의 내용을 알 수 없게 됩니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">흔히 리눅스 등의 서버에 접속하는 SSH 역시 암호화하여 접속하는 프로토콜이기 때문에, 여러분이 입력하는 명령어나, 화면에 출력되는 서버의 내용들은 안전하게 암호화 통신을 하고 있습니다. (SSH는 SSL인증서를 이용하지는 않고, 조금 간단하게 서버와 클라이언트에 저장 된 1쌍의 암호화 키 만을 이용함니다.)</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서입니다. (유명한 제3자로 Symantec 등이 있습니다.)</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">SSL 인증서를 사용하기 위해서는 보통 유료로 구매를 해야 합니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이를 무료로 사용 가능하게 해 주는 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt</code>는, "전 세계 모든 사이트를 HTTPS로 만들기!" 라는 슬로건으로 시작 된 오픈소스 프로젝트입니다. 2015년 12월 공개 베타 서비스를 시작하였습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이 글을 읽으시는 분들이라면, <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Openssl</code>로 자신이 서명해서 발급한 사설인증서 (Self signed certificate)를 떠올리실 수 있으실텐데, 이렇게 발급한 사설인증서의 경우 공개 웹사이트에 적용시, 브라우저에 따라 "이 사이트는 신뢰할 수 없는 SSL 인증서를 사용하고 있기 때문에 접속을 차단합니다." 등의 메세지를 보게 된다는 것을 아실겁니다. 물론 해당 사이트의 도메인을 "예외 적용" 등을 하면, 제대로 암호화 통신을 하는 SSL 인증서를 사용할 수는 있습니다만, 불특정 다수를 위해 서비스 하는 웹 사이트에서는 절대로 사용하면 안되는 방법입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt</code>는 전 세계의 누구에게든, "무료"로 SSL 인증서를 발급해 줍니다. 이 인증서는 제대로 인증된 중개 기관 및 Root CA와의 체인이 되어, 공개적인 웹 사이트에서 사용할 수 있습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://letsencrypt.org/" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank">Letsencrypt 사이트 링크</a>{:target="_blank"}</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">개인적으로 몇 달간 FTPS(SSH를 사용하는 SFTP가 아닌, SSL 인증서로 암호화 통신을 하는 프로토콜)로도 잘 사용 하였습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">다만 단점이 존재하는데, 아래와 같은 제한이 있습니다. (2016년 7월 기준)</p> <ul style="padding-left:2em;margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><li>인증서의 최대 유효 기간은 90일 -> 3개월에 한 번씩은 인증서를 갱신해 주어야 합니다.</li> <li>certonly를 이용해 인증서만을 발급받을 경우, 80번 및 443번 포트의 사용을 중지 -> <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt</code>의 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Apache</code>모듈 등을 사용하지 않고 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">certonly</code>를 사용할 경우, 현재 서비스 중인 웹 서비스를 중단해야 할 수 있습니다.</li> <li>Asterisk (*.minibrary.com)을 사용할 수 없음 -> 서브 도메인을 만들어 SSL 인증서를 사용하려면, 해당 도메인을 위한 인증서를 발급 받아야 합니다.</li></ul><p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">기업등의 서비스를 위한 이용은 조금 무리일 수 있겠습니다만, 자신의 웹사이트 혹은 블로그 등을 위해서는 매우 흥미로운 프로젝트입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이제 실제로 어떻게 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt</code>를적용 하는지 알아보겠습니다.</p> <h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eeeeee;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';white-space:normal;"><a class="anchor" href="https://github.com/minibrary/kr.blog/blob/gh-pages/_posts/2016-07-07-353.md#2-%EC%99%B8%EB%B6%80%EC%97%90%EC%84%9C-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9C%BC%EB%A1%9C-%EC%A0%91%EC%86%8D-%EA%B0%80%EB%8A%A5%ED%95%9C-%EC%9B%B9-%EC%84%9C%EB%B2%84-%EA%B5%AC%EB%8F%99" style="color:#4078c0;text-decoration:none;display:inline-block;padding-right:2px;margin-left:-18px;line-height:1;background-color:transparent;" target="_blank"></a>2. 외부에서 도메인으로 접속 가능한 웹 서버 구동</h2> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">현재 저의 블로그는 모두 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Github</code>로 이전하였고, 딱히 운영중인 웹 사이트나 서버가 없는 관계로, <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">nginx</code>를 설치 하고 기본 페이지로 설명을 하겠습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">먼저, 서비스를 할 도메인은 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">test.minibrary.com</code> 이라고 정하겠습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">웹 브라우저에서 접속해 봅니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-001.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/bf2fcdb6f6418939cb520d254ff4938072d8b9a8/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030312e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">현재는 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;"><a target="_blank" href="http://test.minibrary.com" target="_blank">http://test.minibrary.com</a></code> 으로 접속이 됩니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이제부터 본격적인 시작입니다.</p> <h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eeeeee;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';white-space:normal;"><a class="anchor" href="https://github.com/minibrary/kr.blog/blob/gh-pages/_posts/2016-07-07-353.md#3-letsencrypt-%EC%84%A4%EC%B9%98" style="color:#4078c0;text-decoration:none;display:inline-block;padding-right:2px;margin-left:-18px;line-height:1;background-color:transparent;" target="_blank"></a>3. Letsencrypt 설치</h2> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">아래 링크로 가시면, 공식 설명이 나와 있습니다. 이 포스트에서는 Ubuntu 16.04 기준으로 설명합니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://certbot.eff.org/#ubuntuxenial-nginx" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank">https://certbot.eff.org/#ubuntuxenial-nginx</a>{:target="_blank"}</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">아래 명령어로 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">letsencrypt</code>를 설치 합니다.</p><pre style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;line-height:1.45;padding:16px;overflow:auto;color:#333333;background-color:#f7f7f7;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:0px;margin:0px;border:0px;display:inline;overflow:visible;line-height:inherit;background:transparent;">sudo apt update -y && sudo apt install letsencrypt -y</code></pre> <h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eeeeee;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';white-space:normal;"><a class="anchor" href="https://github.com/minibrary/kr.blog/blob/gh-pages/_posts/2016-07-07-353.md#4-ssl-%EB%A7%8C%EB%93%A4%EA%B8%B0" style="color:#4078c0;text-decoration:none;display:inline-block;padding-right:2px;margin-left:-18px;line-height:1;background-color:transparent;" target="_blank"></a>4. SSL 만들기</h2> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt</code>는 인증서 발급 절차로 몇 개의 모듈을 제공하고 있습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">가령 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Apache</code>로 웹서버를 운영 중이라면, <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt Apache</code> 모듈을 통해 서버의 중지 없이 자동으로 인증서를 발급 및 설정이 됩니다. (Apache 모듈은 테스트 해보지는 않았습니다.)</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">저는 자동화가 아닌, 수동으로 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">test.minibrary.com</code>을 위한 SSL 인증서를 발급 받아 보겠습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이 방법은 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">letsencrypt certonly</code>를 사용하는데, 앞서 설명 드렸지만 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">certonly</code>를 사용하기 위해서는 80번 포트가 사용중이지 않아야 합니다. 만약 80번 포트가 다른 서비스에서 사용 중이라면 아래와 같이 에러가 나며 인증서 발급이 되지 않습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-005.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/7fbd3ff7428273c1ebcbd02d675811d31cd18539/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030352e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">먼저 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">nginx</code>를 멈추고, 어떤 포트가 사용 중인지 보겠습니다.</p><pre style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;line-height:1.45;padding:16px;overflow:auto;color:#333333;background-color:#f7f7f7;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:0px;margin:0px;border:0px;display:inline;overflow:visible;line-height:inherit;background:transparent;">sudo systemctl stop nginx</code></pre><pre style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;line-height:1.45;padding:16px;overflow:auto;color:#333333;background-color:#f7f7f7;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:0px;margin:0px;border:0px;display:inline;overflow:visible;line-height:inherit;background:transparent;">netstat -ant</code></pre> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-006.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/230be62f026ff47eebdc505c1a02aeb312c9003c/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030362e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">위 그림과 같이 nginx를 멈추고 나니, 22번 및 25번 포트만 사용 중입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이제 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">test.minibrary.com</code>을 위한 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt SSL Certificate</code>를 만들겠습니다.</p><pre style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;line-height:1.45;padding:16px;overflow:auto;color:#333333;background-color:#f7f7f7;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:0px;margin:0px;border:0px;display:inline;overflow:visible;line-height:inherit;background:transparent;">sudo letsencrypt certonly --standalone -d test.minibrary.com</code></pre> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">먼저, 인증서와 관리자의 e-mail 주소를 입력합니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-003.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/fcb62c7f41bf5d98da65437866fa3df1505bab07/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030332e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">서비스 이용 조건에 동의할지 결정합니다. 동의하지 않으면 진행이 안되므로, <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Agree</code>를 누릅니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-004.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/fe9359d4a7ab294df7b1c0514021f90406aa215a/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030342e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">그리고 잠깐 기다리면 인증서 발급이 완료 됩니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-002.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/c98bde74b1bf0dc5a0dc5727440e87168a4a0ce5/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030322e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">정말 간단합니다!</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">발급받은 인증서는 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">/etc/letsencrypt/archive/도메인명/</code> 의 디렉토리에 저장되어 있고, 실제 사용할 때에는<code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">/etc/letsencrypt/live/도메인명/</code>의 디렉토리에 있는 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">symlink</code>들을 사용할 것을 추천합니다.</p> <h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eeeeee;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';white-space:normal;"><a class="anchor" href="https://github.com/minibrary/kr.blog/blob/gh-pages/_posts/2016-07-07-353.md#5-ssl%EC%9D%84-nginx%EC%97%90-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0" style="color:#4078c0;text-decoration:none;display:inline-block;padding-right:2px;margin-left:-18px;line-height:1;background-color:transparent;" target="_blank"></a>5. SSL을 nginx에 적용하기</h2> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이제 발급받은 SSL 인증서를 nginx에 적용 해 보겠습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">nginx</code>의 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">server</code> 블럭에 아래 와 같이 내용을 추가 합니다.</p><pre style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;line-height:1.45;padding:16px;overflow:auto;color:#333333;background-color:#f7f7f7;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:0px;margin:0px;border:0px;display:inline;overflow:visible;line-height:inherit;background:transparent;">listen 443 ssl default_server;listen [::]:443 ssl default_server;ssl_certificate /etc/letsencrypt/live/test.minibrary.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/test.minibrary.com/privkey.pem;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers HIGH:!aNULL:!MD5;</code></pre> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">위 설정은 가장 기본적으로 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">SSL 인증서 적용 테스트</code> 만을 위한 목적입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">443</code>번 포트로 접속을 받고, <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">ssl_certificate</code> 및 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">ssl_certificate_key</code>를 방금 발급 받은 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt</code>의 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">fullchain.pem</code> 및<code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">privkey.pem</code> 으로 설정해 줍니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">설정을 저장 하고, <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">nginx</code>를 시작, 혹은 재시작 하고 열려있는 포트를 확인해 봅시다.</p><pre style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;line-height:1.45;padding:16px;overflow:auto;color:#333333;background-color:#f7f7f7;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:0px;margin:0px;border:0px;display:inline;overflow:visible;line-height:inherit;background:transparent;">sudo systemctl start nginx</code></pre><pre style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;line-height:1.45;padding:16px;overflow:auto;color:#333333;background-color:#f7f7f7;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:0px;margin:0px;border:0px;display:inline;overflow:visible;line-height:inherit;background:transparent;">netstat -ant</code></pre> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-007.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/f5614e2ea657ca064dcf72d482e1d9ab68862c3d/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030372e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">443번 포트가 열렸습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">이제 웹 브라우저에서 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;"><a target="_blank" href="https://test.minibrary.com" target="_blank">https://test.minibrary.com</a></code> 으로 접속해 보겠습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-008.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/101cbb07e6b917ec2996c0bb87c2a76cbbd037e7/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030382e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">접속이 잘 됩니다. 눈여겨 보실 점은, 빨간 원 안의 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">자물쇠</code> 표시 입니다. 이는 해당 웹사이트가 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">SSL 인증서</code>를 통해 암호화 통신을 하고 있다는 의미입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">엣지 브라우저</code>는 단색이라 별로 감흥이 안오네요. <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">크롬 브라우저</code>로 확인해 보겠습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-009.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/84f0de1ee8cd362d96067bbb224a3dfd3e1ddc72/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3030392e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">자물쇠를 눌러 보시면, 해당 웹사이트에서 사용 중인 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">SSL 인증서</code>의 상세 내용을 보실 수 있습니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-010.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/fd56f28e43f4cca5fa0bb2f12cc9d35769b1a4f1/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3031302e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">일반 탭의 모습입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-011.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/04dab1df3316a6174b8fccc15f7cabf083cf329f/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3031312e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">인증서의 상세 내용입니다.</p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><a target="_blank" href="https://googledrive.com/host/0Bw2KEQNBe4nMZW91OWJNZ2lmX0k/img-2016-0707-012.png" style="color:#4078c0;text-decoration:none;background-color:transparent;" target="_blank"><img src="https://camo.githubusercontent.com/3fb9f1884f1d0772c06c9ef9c855fc45b786fdf5/68747470733a2f2f676f6f676c6564726976652e636f6d2f686f73742f304277324b45514e4265346e4d5a5739314f574a4e5a326c6d58306b2f696d672d323031362d303730372d3031322e706e67" style="border-style:none;" alt=""></a></p> <p style="margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;">인증서의 경로입니다.</p> <ul style="padding-left:2em;margin-top:0px;margin-bottom:16px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;"><li>Root CA는 DST라는 곳 입니다.</li> <li>Intermediate CA는 Letsencrypt 입니다.</li></ul><p style="margin-top:0px;color:#333333;font-family:'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';font-size:16px;line-height:25.6px;white-space:normal;margin-bottom:0px;">이상으로 간단하게 <code style="font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:13.6px;padding:.2em 0px;margin:0px;">Letsencrypt</code> 에서 SSL 인증서를 무료로 발급 받아 웹 서버에 적용하는 방법을 알아 보았습니다.</p>
<a href="http://kr.minibrary.com">개인 블로그: 미니브러리</a>
<img src="http://kr.minibrary.com/assets/img/mini-logo-ou.png" alt="mini-logo-ou.png">
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.