본문 바로가기

SSL

docker에 SSL 인증서 적용하기 - nginx Reverse Proxy 1. 개요 OMV5에 docker를 이용하여 NextCloud, WordPress, Transmission, LetsEncrypt 등 다양한 어플리케이션을 설치한 바 있다. 아래 그림은 docker에 설치된 컨테이너 리스트이다. 현재 상태를 그림으로 도식화해 보면 아래와 같다. 인터넷에 공유기가 연결되어 있고, 공유기 아래 OMV가 설치된 라즈베리파이 머신이 연결되어 있는 상태이다. 그리고, OMV안에 여러 컨테이너가 가상 내부 네트워크로 구성되어 연결되어 있다. 그리고 각각의 컨테이너에 접속하기 위한 포트는 OMV에 각기 다른 포트로 매핑(포트 포워딩) 되어 있는 상태이다. 현재 구조로도 각각의 어플리케이션에 접속하여 사용은 가능하지만 여러 문제점? 불편함?이 존재한다. 생각나는 불편함은 다음과 같다... 더보기
NextCloud에서 Internal Server Error 발생시 해결 방법 1. 발생원인 파악 OMV의 docker 환경에서 NextCloud를 설치해 정상적으로 사용하던 중 갑자기 아래와 같은 Internal Server Error가 발생했다. 국내외 블로그 및 여러 사이트를 찾아 보았지만 한동안 해결 방법을 찾지 못하다가 최근 해결 방법을 찾게 되어 공유하고자 한다. 우선, 위와 같은 Internal Server Error 메시지는 OMV 머신을 재부팅 하거나, container를 다시 deploy하는 와중에 MariaDB에 할당된 IP주소가 변경되면서 발생한다. 다시 말하면, NextCloud 입장에서는 참조하던 DB서버가 갑자기 사라져 버린 것이다. 위에 그림에서 보면, OMV 머신이 재부팅된 이후 IP 주소는 172.17.0.2이나, NextCloud의 config.p.. 더보기
docker에서 letsencrypt SSL 인증서 발급받기 Let's Encrypt SSL 인증서를 발급받기 위해서 라즈베리파이 호스트 머신에 직접 certbot을 설치하고 수작업으로 인증서를 받을 수도 있다. 물론 certbot도 자동화된 도구이며, apt 명령으로 간단히 설치가 가능하기는 하다. 그러나, letsencrypt docker를 이용하면 간단한 환경설정 만으로 인증서 발급 및 갱신까지 자동으로 이루어진다. 오늘은 letsencrypt SSL 인증서 발급을 위한 단계에 대해 설명하도록 하겠다. 1. 사전 작업 1-1. duckdns 가입 및 dnszi와 연결하기 인증서를 발급 받기 전 어떤 서브 도메인까지 인증서가 필요할지 미리 생각해 두어야 한다. 예를 들어 codesarang.com과 www.codesarang.com, blog.codesaran.. 더보기
라즈베리파이4 설정(3) - NGINX에서 다중 도메인 홈페이지 운영하기(Virtual Host) 웹 서버를 운영하다보면, 한 웹서버에 여러 홈페이지를 운영할 경우가 있다. aaa.domain.com, bbb.domain.com 와 같이 서브 도메인만 다른 경우가 있을 수도 있고, www.domain1.com, www.domain2.com 처럼 아예 다른 도메인을 운영할 수 도 있다. NGINX 웹서버는 Virtual Host라는 기능을 이용하여 여러 홈페이지를 운영하는 방법을 제공한다. 1. Virtual Host 설정 Virtual Host를 설정하는 방법은 매우 간단하다. "/etc/nginx/sites-enabled" 폴더 아래에 도메인별로 설정파일을 만들어 저장해 놓기만 하면 된다. 예를 들어 "www.domain.com"이라는 홈페이지와 "blog.domain.com"이라는 홈페이지를 라즈.. 더보기
라즈베리파이4 설정(2) - NGINX에 SSL 인증서 할당받기(HTTPS 지원) 지난번 글에서는 라즈베리파이에 NGINX와 PHP를 설치하여 웹서버를 구축했다. 최근 제작되는 웹사이트들은 SSL 인증서 기반의 HTTPS 프로토콜을 대부분 지원한다. 라즈베리파이에서 HTTPS 프로토콜을 지원하도록 하려면 어떻게 해야 할 것인가? 여기서는 Let's Encrypt에서 제공하는 무료 인증서를 이용하여 HTTPS 사이트를 구축해 보도록 하겠다. Let's Encrypt는 유효기간이 3개월인 무료 인증서를 제공하며, 무제한 추가 갱신을 할 수 있도록 허용한다. 즉, 도메인만 있으면 무료 인증서를 기간의 제한 없이 사용할 수 있다. 우선, 인증서를 제공받기 위해서는 본인 소유의 도메인을 가지고 있어야 한다. 구매 방법은 여러 블로그에 소개되어 있으니 참고하도록 한다. 그럼, 도메인을 소유하고 .. 더보기