본문 바로가기

backend

(9)
DNS 설정 도메인 구매도메인 등록 서비스(AWS Route 53, GoDaddy 등)에서 원하는 도메인을 구매.도메인 구매 후, 관리 콘솔에서 도메인 상태와 네임서버 정보를 확인.EC2 탄력적 IP 주소 생성AWS 콘솔에서 EC2 인스턴스 선택 후, 탄력적 IP 주소(Elastic IP) 할당.탄력적 IP는 EC2 인스턴스가 재부팅되더라도 IP 주소가 변하지 않음.EC2 인스턴스에 탄력적 IP를 연결.Route 53 설정호스팅 영역 레코드 생성 (유형 SOA)AWS Route 53에서 해당 도메인에 대한 호스팅 영역 생성.SOA(권한 시작) 레코드에 탄력적 IP 주소 입력(SOA 레코드는 권한 있는 DNS 서버를 지정하는 역할)호스팅 영역 레코드 생성 (유형 CNAME)www. 서브도메인용 CNAME 레코드 생성...
Kafka와 RabbitMQ 비교 및 차이점 상황프로젝트에 있어서 메시지 큐를 도입해야 하는 상황이 발생했다.그래서 어떤 기술을 도입할지 고민하면서 해당 두 기술을 비교해봤다.Kafka와 RabbitMQ 비교 및 차이점메시지 브로커 (Message Broker) 정의메시지 브로커는 애플리케이션 간의 통신을 처리하고 메시지를 전달하는 중개자 역할을 합니다. 이를 통해 메시지를 보내는 애플리케이션(프로듀서)과 받는 애플리케이션(컨슈머) 간의 메시지 전송을 관리합니다.메시지 브로커의 주요 기능비동기 통신: 프로듀서와 컨슈머가 독립적으로 작동하여 비동기적으로 메시지를 주고받을 수 있습니다.발행/구독 모델: 메시지를 주제(topic)나 큐(queue)에 발행하고 여러 컨슈머가 이를 구독하여 처리할 수 있습니다.로드 밸런싱: 여러 컨슈머 간 메시지를 균등하게..
Mixed Content 에러 해결 Mixed Content 에러란?Mixed Content 에러는 웹 페이지가 HTTPS(보안 연결)로 로드되었을 때, 동일한 페이지에서 HTTP(비보안 연결) 자원을 요청할 때 발생합니다. 이는 보안 위험을 초래할 수 있기 때문에 브라우저는 이러한 요청을 차단하거나 경고 메시지를 표시합니다.Mixed Content 에러 해결 방안1. HTTPS로 모든 요청 보내기가장 간단한 해결 방법은 모든 자원을 HTTPS로 제공하는 것입니다. 이는 웹 사이트의 모든 외부 요청 URL을 HTTP에서 HTTPS로 변경하는 것을 의미합니다.  2. 리버스 프록시 사용하기리버스 프록시는 클라이언트가 HTTP 자원에 접근할 때, 서버가 중간에 개입하여 HTTPS로 요청을 보내는 역할을 합니다. 이렇게 하면 클라이언트는 여전..
JWT 인증을 nginx에서 처리하기 위한 방법 lua 목적JWT 인증을 nginx에서 처리하기 위해서 lua 스크립트를 사용했습니다.현재 프로젝트에서 MSA로 설계했습니다.이 경우 서버 마다의 JWT 인증을 어떻게 처리할지 고민이였습니다.nginx는 JWT 파서를 오픈소스로 제공하지 않기 때문에 다른 방법을 사용해야 했습니다.그래서 kong과 lua 같은 스크립트 방식, 또한 SPRING GATEWAY API를 찾아보았습니다.저희 프로젝트 규모에 맞고, 목적(JWT 인증처리만)에 맞고,이미 nginx를 통해 리버스 프록시를 사용하고 있기 때문에, LUA를 사용하고자 했습니다.(특히 nginx plus에 대한 정보가 많이 부족했습니다.)아래는 설정 방법입니다.Lua 스크립트local function verify_jwt() local args = ngx...
CORS 문제 문제 상황현재 설정에 따르면 다른 주소(http://ssafy11front.com - 프론트엔드)에서 다른 서버(http://ssafy11back.com - 백엔드)로 요청을 보내면서 CORS(Cross-Origin Resource Sharing) 오류가 발생할 수 있습니다. 브라우저는 보안상의 이유로, 주소나 포트가 다른 서버 간의 요청을 제한하여 CORS 오류를 일으킵니다.해결 방법서버에서 CORS 헤더 허용 설정하기백엔드 서버에서 특정 출처(origin)를 허용하도록 Access-Control-Allow-Origin 헤더를 설정하여 CORS 오류를 해결할 수 있습니다. 모든 출처를 허용하려면 *를 지정할 수 있고, 특정 도메인만 허용하려면 해당 도메인 주소를 명시하면 됩니다.Access-Contro..
Spring 프로젝트 파일 기본 구조 해당 구조에서 눈 여겨볼 기본적인 설정 파일입니다. 웹 애플리케이션 설정 파일들 1. pom.xml (Dependency Management) 용도: Maven 프로젝트에서 필요한 모든 라이브러리(의존성)를 정의하고 관리합니다. 기능: 자동으로 필요한 라이브러리 다운로드 및 관리 프로젝트 구성 요소 간의 호환성 유지 프로젝트 설정의 일관성 보장 2. web.xml (Web Configuration) 용도: 서블릿과 JSP의 배포 설명자로, 웹 애플리케이션의 설정 정보를 포함합니다. 기능: 서블릿 매핑, 세션 타임아웃, 웰컴 파일 리스트 설정 https://huyntohoon.tistory.com/40 HTTP 상태 코드 404(Not Found), 400(Bad Request) 등에 대한 에러 페이지 지..
Spring 개요 및 특징 스프링 프레임워크란? 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다. 스프링 프레임워크의 기초 프레임워크 vs 라이브러리 => 흐름의 결정권자 차이 프레임워크 => 정해진 흐름에 따라 개발 라이브러리 => 개발자가 직접 흐름을 결정 스프링 프레임워크의 기초 EJB와 POJO의 비교 EJB (Enterprise Java Beans): 초기 자바 엔터프라이즈 애플리케이션 개발에서 널리 사용되었으나, 작은 기능에도 EJB의 상속이나 구현이 필요했기 때문에 가벼운 서비스 구현에는 비효율적이었습니다. 또한, 확장성 측면에서도 복잡성이 증가하는 문제가 있었습니다. POJO (Plain Old Java Object): 순수 자바 객체를 이용한 프로그래밍으로, 클래스나 라이브러리에 종속되지 않습니다. 이는 ..
배포자동화 CI/CD AWS EC2, Git Action, Docker CI/CD Continuous Integration" 및 "Continuous Deployment"의 약자 소프트웨어 개발 프로세스의 자동화된 방식을 말함. CI/CD는 개발자들이 애플리케이션을 효율적으로 개발, 테스트 및 배포하기 위해 사용. AWS 아마존 닷컴에서 제공하는 클라우드 컴퓨팅 플랫폼 = 가상 서버 제공 서비스 #### 가상 서버의 필요성 - 자원 활용, 비용절감 : 여러 가상 서버 운영가능 => 서버 구축의 효율성, 비용적 효율성 - 확정성, 유연성 : 쉬운 생성, 복제, 확장 및 축소를 동적으로 조정 가능, 트래픽 변동에 가능 등 여러 편의성 - 격리, 보안 : 독립적인 서버, 보안 강화 - 테스트, 개발 : 테스트 및 개발에 유용함, 또한 실제 운영 환경과 비슷한 환경 테스트 가능 -..