Backend&Devops/Nginx
[Nginx] Nginx Proxy Manager 설치
1. 개요 Nginx Proxy Manager를 재설치해야 하는 일이 빈번히 있어서 설치과정을 정리했습니다. Nginx Proxy Manager는 리버스 프록시, 리다이렉션, 보안 인증, SSL 인증서 관리를 GUI로 할 수 있게 도와주는 툴입니다. 가이드 참고 https://nginxproxymanager.com/guide/#features Nginx Proxy Manager Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt nginxproxymanager.com 2. doc..
[Nginx] SSL 설정(HTTPS 적용)
1. 개요 기존에 웹 사이트를 HTTP로 운영하고 있다가, 사용자의 정보같은 민감한 정보를 사용하게 될 경우에는 SSL 인증서를 사용한 보안처리를 해야합니다. 웹서버에 SSL 인증서를 사용해 웹사이트를 HTTPS로 열 수 있게끔 Nginx 프록시 서버에 SSL 인증서를 적용하는 방법을 확인해보겠습니다. 2. 준비물 도메인, SSL 인증서(chain key, private key) 도메인은 유료로도 발급할 수 있지만, 저는 개발용이기 때문에 무료로 도메인을 발급해주는 no-ip라는 사이트를 통해서 받았습니다. https://www.noip.com/ Sign In - No-IP × Please select your Language To view website content in your Language, p..
[OpenSSL] SSL 인증서 발급 방법 요약
1. 개요 웹 서버에 https 적용을 위한 SSL 인증서를 발급 받는 방법을 정리했습니다. 2. openssl for windows 다운 https://code.google.com/archive/p/openssl-for-windows/downloads Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com 윈도우에서 SSL 인증서 생성을 위해 위의 링크에 접속해서 프로그램을 다운받습니다. k, e, d와 같은 라벨이 있는데 저는 e로 다운받고 진행했습니다. 3. 환경변수 설정 2번에서 압축 파일을 받고 푼 다음, /bin 경로에 있는 openssl.exe를 시스템 환경변수에 등록해줍니다. 4. pri..
[Nginx] 리버스 프록시(Reverse Proxy) 개념 및 사용법
1. 개요 리버스 프록시란? 클라이언트 요청을 대신 받아 내부 서버로 전달해주는 것을 리버스 프록시(Reverse Proxy) 라고 합니다. 저도 사실 프록시라는 개념이 낯설었는데요, 일단 프록시라는 개념부터 확인해야 합니다. 프록시란 대리라는 의미로, 정보를 대신 전달해주는 주체라고 생각하면 되는데, 만약 이 프록시 없이 웹 서버를 운영한다고 가정합니다. localhost:3000 라고 하는 웹서버를 열어서 운영했을 때, 사용자가 갑자기 많아지거나, 웹서버가 그대로 노출되어 있기 때문에 보안적으로 위험성이 있겠죠? nginx를 사용하면 로드 밸런싱으로 부하를 줄여줄 수 있고, 분산 처리 또한 가능하며 웹서버의 SSL 인증도 적용할 수 있습니다. 따라서 아래와 같이 사용자 -> nginx -> 웹서버로 ..
[Nginx] connect() failed (111: Connection refused) while connecting to upstream 오류 해결
1. 개요 Next.js 웹 서버(3000)와 Nginx(80)로 리버스 프록시를 연결하는 과정에서 docker-compose를 사용해 2개의 컨테이너를 묶어서 빌드하는 과정에서 발생했던 오류였습니다. 오류내용 *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.24.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "localhost" *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.24.0...
[Nginx] Nginx 개념 및 nginx.conf 설정
Nginx 개념 및 nginx.conf 설정 1. 개념 nginx는 apache와 같은 웹서버 중에 하나인데, 가벼우면서 여러 요청을 한 번에 처리할 수 있는 장점을 가진 웹서버입니다. apache보다 동작이 단순하고 전달자 역할만 하기 때문에 동시접속에 특화되어 있다는 특징이 있습니다. 만약 동시접속자가 700명 이상이라면 서버를 증설하거나, nginx환경을 권장한다고 할 정도로 성능이 좋고 다중 접속에 특화되어있다는 것을 알 수 있습니다! 이 nginx는 구동 방식이 Event Driven(비동기처리방식)인데, 이것은 요청이 들어오면 어떤 동작을 해야하는지만 알려주고 다른 요청을 처리하는 방식입니다. 그러다보니 CPU와 관계없이 모든 입출력들을 전부 Event Listener로 전달하기 때문에 흐름이..