이번 포스팅에서는 SSL 프로토콜의 작동 방식이 아닌, SSL 인증서와 사설 인증서에 대해 알아보겠습니다.SSL(Secure Sockets Layer)은 암호화 기반 인터넷 보안 프로토콜입니다. 인터넷 통신의 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 출범했고, 현재 사용 중인 TLS 암호화의 전신입니다.SSL은 사용하고 있는 웹 서버에 SSL 인증서를 설치하여 암호 통신이 가능하도록 합니다.그리고 SSL 인증서가 설치된 웹서버는 HTTPS 통신이 가능합니다.공인인증서? 사설인증서?공인 SSL 인증서공인 SSL 인증서는 인증 기관(CA)에서 발급하는 인증서입니다.일반적으로 인터넷에서 접근하는 사이트들은 공인인증서가 적용되어 있다고 생각하시면 됩니다.사용자 PC에 따로 인증서를 설치하지 않더라도..
도커파일은 도커로 이미지를 생성하기 위한 용도로 작성하는 스크립트 파일이다.도커 이미지를 빌드할 때는 전적으로 도커 파일에 의존해 빌드를 실시한다.도커 스크립트는 크게 어렵지 않지만 헷갈리는 것들이 있어 한 번 정리해두면 좋다.예시로 알아보는 명령어들도커파일 예시와 함께 각 명령어 사용법을 알아보자.# 베이스 이미지로부터 시작FROM python:3.9-slim# 작업 디렉토리 설정WORKDIR /app# 환경 변수 설정ENV FLASK_APP=app.pyENV FLASK_RUN_HOST=0.0.0.0# 라벨 설정LABEL maintainer="example@example.com"LABEL version="1.0"LABEL description="This is a sample Dockerfile."# 로..
배리어프리 앱 개발 콘테스트란?배리어프리 프로젝트는 현대오토에버와 사단법인 그린라이트에서 주관하는 굉장히 긴 호흡을 가져가는 프로젝트이다.매년 4월경 모집을 하기 시작하며, 총 상금도 꽤나 규모가 있다.나의 경우는 23년 6월부터 시작해 24년 2월까지 약 8개월간의 기간을 소요했다.과정은 위와 같다.중간발표회와 제작발표회 등을 거치며 최종 제작 지원 팀을 선발하고, 마지막 완료발표회와 수상식을 끝으로 마무리되었다. 면접심사 (7월 8일)먼저 1차 서류심사를 합격한 20팀을 선발을 한다.그리고 20팀에 대한 면접심사를 진행한다. 면접심사는 영등포에 위치한 이룸센터에서 이루어졌고, 간단하게 15분정도 어플리케이션 개발계획을 발표한다.올 해 심사기준은 다음과 같았다. 개인적으로 심사위원분들의 질의와 관심도를..
다음 명령어로 해결python3 -m pip config set global.break-system-packages true referencehttps://stackoverflow.com/questions/75608323/how-do-i-solve-error-externally-managed-environment-every-time-i-use-pip-3
홈서버에 파일 공유 서버를 하나 구축하려고 계획을 하였는데, 헤놀로지는 너무 무거운듯 하여 우분투 컨테이너에 smb 서버를 하나 만들기로 하였습니다.먼저 우분투 컨테이너를 하나 만들어줍니다.우분투 컨테이너 생성후에는 다음 스텝으로 삼바 서버를 구축해줍니다.SMB 서버 구축apt updateapt updateapt upgrade -y삼바 설치apt install samba -y리눅스 서버에 계정을 추가해줍니다.sudo adduser {username}Samba에도 공유할 계정을 등록해줍니다.sudo smbpasswd -a {username}공유할 폴더를 생성해줍니다.mkdir /home/manjoo/share이제 conf파일을 수정해주어야합니다.파일 공유만을 가능하게 작업해보겠습니다.vi /etc/samb..
컨테이너 생성먼저 와이어가드 서버를 올리기 위해 컨테이너를 하나 생성해주겠습니다.ubuntu 22.04 버전 이미지 템플릿을 받습니다.해당 이미지로 컨테이너를 생성해주고, wireguard를 docker로 실행해주겠습니다.hostname과 비밀번호를 설정해줍니다.아까 다운받은 템플릿을 선택해줍니다.Disk, CPU, Memory는 default 값으로 설정 후 네트워크에서 고정IP를 세팅해줍니다.설정에 이상이 없으면 컨테이너를 생성해줍니다.컨테이너 생성 이후 세팅몇가지 필요한 패키지를 설치해줍니다.apt update && apt upgrade -y && apt install curl && apt install net-tools도커와 도커 컴포즈를 설치해줍니다.curl -fsSL https://get.do..
현재 집에서 재미 반, 흥미 반으로 홈 서버용으로 구매한 미니PC에 프록스목스 OS를 설치하고 여러 편의용 서버를 가상화, 구동 중입니다.홈서버를 구축했던 내용을 하나씩 풀어보겠습니다.프록스목스(Proxmox)란?Proxmox는 KVM 가상화와 LXC 컨테이너 기술을 기반으로 하는 하이퍼바이저 OS입니다.가상 머신과 컨테이너를 웹 기반의 UI로 쉽게 관리할 수 있습니다.또한 백업/복원, 스토리지 관리 등 다양한 기능을 제공하며, 가장 큰 장점인 오픈소스 라이선스로 누구나 무료로 사용할 수 있습니다.Proxmox 세팅먼저 다음 url에 접속해 proxmox 이미지를 받아줍니다.https://www.proxmox.com/en/downloadsOS 설치가 완료되면 무료 dns를 제공해주는 사이트에서 ip를 등..
서버 부하 분산은 부하 분산 Network Switch 혹은 Nginx등의 소프트웨어가 담당합니다. 즉, 외부로부터의 요청을 받으면 이를 서버로 적절히 나누어 주게 됩니다. 개발을 하며 소프트웨어로 로드밸런싱을 구축하는 경험은 해보았으니, 하드웨어인 L4 스위치를 통해 어떻게 로드밸런싱을 하는지를 다뤄보겠습니다. L4 스위치의 역할과 Nginx의 역할은 거의 유사하기 때문에, L4 스위치의 기능들을 모두 이해한다면 Nginx같은 웹 서버에 대해서 이해하기 편합니다. L4 스위치란? L4 스위치를 사용하면 외부에서 들어오는 모든 요청을 서버가 아닌 L4 스위치가 받아서 서버들에게 적절히 나누어 줍니다. 위 그림의 Load Balancing을 하는 부분이 바로 L4 스위치의 역할입니다. 마치 리버스 프록시와..