nginx 3

[개발환경 설정] Ubuntu 서버에 Nginx 설치 및 설정 (+ SSL 인증)

0. 개요이 글에서는 Ubuntu 서버에 Nginx를 설치하고, 로드 밸런싱을 설정한 후, Let's Encrypt를 사용해 SSL 인증서를 적용하는 방법을 설명한다. 이를 통해 여러 서버 간에 트래픽을 분배하고, 보안된 HTTPS 서버를 구축할 수 있다.1. Nginx 설치sudo apt install nginx * Nginx 명령어와 파일 구조 설명 더보기(1) Nginx 관련 명령어# 상태 보기sudo systemctl status nginx# 시작sudo systemctl start nginx# 종료sudo systemctl stop nginx# 재시작sudo systemctl restart nginx# 리로드 (변경된 설정을 적용하는 경우 사용. 기존 연결을 끊지 않음.)sudo systemc..

개발환경 설정 2025.04.20

[서버] 프록시 서버? 리버스 프록시 서버?

1. 프록시 서버란?프록시 서버는 클라이언트와 서버 사이의 중개 역할을 하는 서버다.클라이언트가 원래의 서버와 직접 통신하는 대신, 프록시 서버를 통해 요청을 보낸다. 이때 프록시 서버는 요청을 받아서 적절한 서버로 전달하거나, 서버에서 응답을 받아 클라이언트에게 전달하는 역할을 한다.2. 프록시 서버의 종류프록시 서버의 종류로 크게 2가지가 있는데, 네트워크 상 위치로 프록시 서버와 리버스 프록시 서버로 분류된다. (1) 프록시 서버 (Proxy Server)클라이언트 시스템 그룹 앞에 위치하는 서버.클라이언트 측에서 원본 서버와의 연결을 대신하는 역할학교, 회사, 정부 등에서 외부 인터넷 접속을 제한하거나, 특정 웹 사이트를 필터링 할 때 사용한다.(2) 리버스 프록시 서버 (Reverse Proxy..

서버 2025.03.25

[쇼핑몰 프로젝트] 서버 다중화 환경에서 세션 기반 인증 문제 해결 – JWT 적용

0. 개요쇼핑몰 프로젝트는 MSA 방식으로 설계했고, 클라이언트의 모든 요청은 먼저 Nginx로 받아서 이를 프론트 서버로 로드 밸런싱한다.이 프론트 서버에서 사용자 인증을 진행하는데, Spring Security를 사용했다. 그런데 간헐적으로 인증이 안되는 현상이 문제가 발생했다. 1. 문제 원인 분석문제는 Spring Security의 인증방식에서 비롯됐다. 로그인 시, Spring Security의 동작 과정을 보면  (1) 사용자의 인증 요청: 로그인 (아이디 - username, 패스워드 - password) (2) UsernamePasswordAuthenticationFilter요청에 세션ID(JSESSIONID)가 없으면, 사용자는 인증되지 않은 상태로 간주되고, 요청에서 username과 ..