BE(82)
-
[Nginx] HTTPS 적용
1. HTTPS 필요 Nginx SSL Termination이란 Nginx 서버가 클라이언트와의 SSL/TLS 연결을 종료하고, 그 이후의 트래픽을 암호화 없이 백엔드 서버로 전달하는 과정을 의미한다. 이를 통해 백엔드 서버의 부담을 줄이고, SSL/TLS 관리와 인증을 Nginx가 처리할 수 있도록 한다. 외부와의 통신은 보안이 중요한 만큼 HTTPS를 사용하여 데이터를 암호화한다. 외부에서 제3자가 데이터가 전송되는 동안 데이터를 들여다볼 수 없게 만든다. 서버 내부에서는 암호화의 필요성이 줄어들기 때문에 효율성을 위해 HTTP를 사용하여 통신한다. 이렇게 하면 백엔드 서버에서 복호화하는데 필요한 부담을 줄일 수 있다. 2. 원리 (HTTPS 통신에 대한 간단한 설명 참고) 3. 로컬 개발 환경에서..
2024.08.04 -
[Nginx] 리버스 프록시
NGINX Reverse Proxy | NGINX DocumentationNGINX Reverse Proxy Configure NGINX as a reverse proxy for HTTP and other protocols, with support for modifying request headers and fine-tuned buffering of responses. This article describes the basic configuration of a proxy server. You will learn how to pdocs.nginx.com 1. 리버스 프록시 설정법 위와 같이 path가 /일 경우는 react를 빌드한 정적인 파일을 주고 path가 /api/v1인 경우 8080 포트의 Spr..
2024.08.04 -
[Nginx] Nginx란?
1. Nginx란? Nginx - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전.ko.wikipedia.org Nginx는 웹 서버 소프트웨어이다. 기본적인 웹 서버 기능을 제공할 뿐만 아니라, 리버스 프록시, 로드 밸런서, http 캐싱 그리고 메일 프록시 기능을 제공한다. HTTP 프록시와 웹 서버 기능정적 파일과 인덱스 파일 표현, 자동 인덱싱 기능.캐싱을 통한 리버스 프록시로드 밸런싱고장 진단SSL 지원캐싱을 통한 FastCGI 지원Name-, IP-기반 가상서버FLV 스트리밍MP4 스트리밍 모듈을 이용한 MP4 스트리밍웹페이지 접근 인증gzip 압축10000개의 동시 접속을 처리할 수 있는 능력URL 다시 쓰기 (URL rewriting)맞춤 로깅서버 사이드 기능 포함WebDAV..
2024.08.03 -
[Spring] SOP & CORS
CORS(교차 출처 리소스 공유) | 토스페이먼츠 개발자센터CORS를 번역하면 “교차 출처 리소스 공유”에요. ‘두 출처가 서로 다르다’는 뜻인데요. CORS를 설정한다는 건 ‘출처가 다른 서버 간의 리소스 공유’를 허용한다는 거죠.docs.tosspayments.com 1. Origin이란? Origin = Protocol + Host + Port 2. SOP란? SOP(Same-Origin Policy, 동일 출처 정책)는 웹 보안의 중요한 개념 중 하나로, 특정 출처(origin)에서 로드된 문서나 스크립트가 다른 출처의 리소스와 상호작용하지 못하도록 제한하는 정책이다. SOP는 웹 브라우저가 클라이언트 측에서 악의적인 스크립트가 다른 출처의 콘텐츠에 접근하지 못하도록 하기 위해 도입되었다. 가...
2024.07.06 -
[Spring] SpringBoot
1. SpringBoot란? Spring Boot spring.io Spring Boot는 제품 수준의 Spring 애플리케이션을 쉽게 만들 수 있게 도와준다. Spring 플랫폼과 다른 라이브러리를 활용하면, 복잡한 설정 없이 바로 시작할 수 있다. 대부분의 Spring Boot 애플리케이션은 간단한 Spring 설정만 필요하다. 복잡한 설정을 자동화.자주 사용되는 library들이 조합되어 있다. (starter dependency 제공)서버를 내장하고 있어서 Tomcat, Jetty와 같은 별도의 WAS 설치가 필요 없다.WAS에 배포하지 않고도 실행할 수 있다. 2. 시작하기 가. Spring initializr https://start.spring.io/ SpringBoot 프로젝트를 생성하는 ..
2024.07.06 -
[Spring] Rest API
1. Rest란? Representational State Transfer하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념. URI + HTTP Method (GET/POST/PUT/DELETE) HTTP URI를 통해 제어할 자원을 명시하고, 어떤 제어를 명령할지는 HTTP Method를 통해 설정하는 방식. Method설명POSTCreateGETReadPUT, PATCHUpdateDELETEDelete 서비스 유형설명기존의 서비스요청 처리 후, 가공된 데이터를 이용해 특정 플랫폼에 적합한 형태의 View로 반환Rest 서비스데이터 처리만 하거나, 처리 후 반환할 데이터가 있다면 JSON이나 XML 형식으로 반환 💡 Q. View를 반환하는 경우도 있지 않았나?HTTP URI를 통..
2024.07.06 -
[Spring] 비동기 통신
1. @PathVariable@GetMapping("/blog/{userid}/{articleno}")public String viewArticle(@PathVariable("userid") String userId, @PathVariable("articleno") int articleNo, Model model){ ... return "blog/view";}url에 일부분을 매개변수로 사용할 수 있다. Clean URL, Rest API에 유용하다. 2. @ResponseBody// join.jsplet isUseId = false;document.querySelector("#userid").addEventListener("keyup", function () {let userid = this..
2024.07.06 -
[Spring] MyBatis-Spring module
mybatis-springGetting Started This chapter will show you in a few steps how to install and setup MyBatis-Spring and how to build a simple transactional application. Installation To use the MyBatis-Spring module, you just need to include the mybatis-spring-3.0.3.jar filemybatis.org 1. 설치 MyBatis-Spring module을 사용하기 위해서는 mybatis-spring-3.0.3.jar 파일과 그 외 dependencies를 classpath에 추가해야 한다. 단, Maven을 ..
2024.07.06