본문 바로가기

전체 글

(175)
[Spring Boot] CORS 필터 설정하기 프로젝트 진행 중 아래와 같은 CORS 에러가 발생하여 이에 대한 해결 방법을 정리했습니다. Access to XMLHttpRequest at '외부 API URL' from origin '외부 API를 호출한 URL' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. CORS란? Cross-Origin Resource Sharing의 약자로 도메인이 다른 외부 서버 자원에 접근했을 때, 허용된 방식이 아닌 경우 CORS 에러가 발생합니다. CORS 를 허용하는 설정 방법이 3가지가 있는 데, 이중 두가지 방법에 대해서 잘 적용되지 않아 filter를 직접 ..
[AWS] EC2 스토리지 (EBS) 확장하기 사용중인 EC2 스토리지를 확장하는 방법에 대한 포스팅 글입니다. 1. EC2와 연결된 EBS 볼륨을 수정합니다. 원하는 만큼 볼륨을 확장합니다. 저는 8GB -> 16GB로 올렸습니다. 2. EC2에 SSH로 접속해 파티션 크기를 확장해줍니다. AWS에서 스토리지를 늘렸지만 실제로 적용되지 않았으므로 수동으로 확장해주어야 합니다. $ df -h 를 입력해 디스크 용량을 확인했을 때 8GB 그대로인 것을 알 수 있습니다. 리눅스의 디바이스 정보를 출력하는 명령어를 입력해서 AWS EBS에서 확장한 스토리지가 있는지 확인합니다. $ lsblk 파티션 확장 파티션 크기 확장 명령어를 입력합니다. $ sudo growpart /dev/nvme0n1 1 파티션이 확장되었는지 확인합니다. $ lsblk 3. 파일..
[Nginx] Nginx & tomcat 연동하기 우선 nginx와 tomcat을 설치합니다 (아래 링크 참조) 2022.04.17 - [IT/Web server] - [Nginx] AWS Linux nginx 설치하기 2020.02.19 - [IT/Linux] - [Tomcat] CentOS 7에 Tomcat8 설치 및 설정 nginx와 tomcat이 설치되었다면 다음부터는 간단합니다 nginx 설정파일을 연다 # vi /etc/nginx/nginx.conf server 부분에 아래와 같은 "/" 접근 proxy_pass 설정을 한다. location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $..
[Nginx] AWS Linux nginx 설치하기 1. 생성된 EC2에 SSH를 이용해서 접근합니다. 2. eginx를 설치 및 실행을 확인합니다. nginx 설치 # sudo amazon-linux-extras install nginx1 nginx 실행 # sudo systemctl start nginx.service nginx 프로세스 확인 # ps ef|grep nginx nginx access log 확인 # tail -f /var/log/nginx/access.log 브라우저에서 http://EC2-public-ip 로 접근해봅니다. 접속되지 않는 다면 80포트가 닫혀 있거나 ec2 접근 ip가 잘못되었을 확률이 높으니 한번 더 확인합니다. 3. 80포트가 열려있지 않다면 EC2의 보안그룹을 수정합니다. EC2에 설정된 보안그룹 인바운드에 HT..
[Retrofit] Retrofit을 이용해서 다양한 방식으로 API 요청을 해보자 1. Retrofit 이란? OKHttp 라이브러리를 기반으로 http 통신을 할 수 있게 도와주는 자바 라이브러리입니다. 보통 안드로이드 또는 스프링 웹 어플리케이션 서버에서 외부 서버와 API 통신을 하기 위해 사용합니다. 2. 테스트 API 테스트 진행 시 https://jsonplaceholder.typicode.com/guide/ 에서 제공해주는 API를 이용했습니다. 통신하는 API는 다음과 같습니다. 도메인 https://jsonplaceholder.typicode.com 포스트 생성1 (application/json) POST /posts 포스트 생성2 (application/x-www-form-urlencoded) POST /posts 단일 포스트 조회 GET /posts/{userId}..
[Docker] Spring Boot Docker 사용하기 이번 포스팅은 Spring Boot를 Dockerize 및 docker에서 실행하는 방법을 소개해주는 글입니다. 우선 Docker를 설치해주세요. https://docs.docker.com/get-docker/ Get Docker docs.docker.com 1. Spring Boot Project 생성 https://start.spring.io/ 위 경로에서 Spring Boot Project를 생성해줍니다. 2. pom.xml ... org.springframework.boot spring-boot-starter-web ... 간단한 HTTP 통신 테스트를 위해 spring-boot-starter-web 라이브러리를 추가해줍니다. 3. HomeController.java package com.exam..
[Docker] Docker 란? 이 글은 subicura님의 글을 요약한 글입니다. https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html 초보를 위한 도커 안내서 - 도커란 무엇인가? 도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이 subicura.com 1. 도커란? 컨테이너 기반 가상화 플랫폼 서버에서 사용되는 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줍니다. 2. 컨테이너 컨테이너란 격리된 공간에서 프로세스가 동작하는 기술입니다. 기존의 가상화 방식은 주로..
[SpringBoot] resource 값을 자바 소스에서 활용하기 src/main/resources/data/data.txt 파일이 존재할 경우 해당 파일에 값에 접근하고 싶을 때 다음과 같이 하면됩니다. @Test public void resource() throws IOException { ClassPathResource resource = new ClassPathResource("data/data.txt"); Path path = Paths.get(resource.getURI()); String key = Files.readString(path); logger.info("[TEST] key : {}", key); } [TEST] data.txt : ABCDEFGHIJK