전체 글
-
[Nginx] 파일 송신 시 413 Request Entity Too Large Axios 에러오답 노트 2024. 10. 15. 09:18
멀티파트 파일로 정상적으로 API를 만들고 테스트까지 모두 끝난 백엔드 애플리케이션을 Call 하던 Front..모든것이 순조롭게 잘 진행되고 있었는데, 갑자기 뭔가 하나 길을 막아섰습니다. '413 Request Entity Too Large'난감..황당..너 잘 됐잖아? 갑자기 왜그래? 알아보니 Nginx는 기본적으로 파일 송수신 사이즈를 1M로 설정해놓고 있습니다.(1M..?누구 코에 붙이라고..) 해결 방법을 찾아보니 아주아주 심플했습니다. nginx의 /etc/nginx 폴더 내 nginx.conf 또는 /etc/nginx/conf.d/*.conf 파일 내에 http 블록에 client_max_body_size 를 설정해주면 됩니다.http { ...(생략)... client_max_..
-
[Spring Security 3.x + JWT] PermitAll() 이 정상적으로 인식이 되지 않을 경우스터디 노트 2024. 9. 22. 12:36
JWT Filter를 활용한 로그인 기능을 구현하던 중, 회원가입 API를 호출하니 권한이 없다는 황당한 오류를 맞이하게 되었습니다.분명히 httpSecurity에 authorizeHttpRequests부분에 PermitAll로 회원가입과 로그인을 처리하는 auth 하위 URI는 모두 허용하도록 처리를 하였음에도 불구하고 JWT Filter를 타면서 token검증을 하더군요.. 실제로 인증을 하지 않으며 무조건 허용하도록 설정을 했음에도 정상 동작하지 않아 파악을 해보니, permitAll()을 설정해도 무조건 Spring Security의 필터 체인을 거친다는 것을 알게 되었습니다. 이유는 알았고 이제 해결 방법을 찾아야지요.해결 방법은 매우 간단했습니다.기본적인 Security Config를 사용한다..
-
[SpringBoot + Docker + Jenkins + GitLab Webhook] Docker 환경에서 Jenkins 설치 GitLab Webhook 연동, Jenkins 내부에 Docker 설치하여 이미지 빌드하기프로젝트 노트 2024. 8. 19. 10:50
이번에 기존에 운용중에 있었던 Jenkins 컨테이너 서버에 추가로 배포 파이프라인을 만들면서 Docker Image Build를 하려고 했습니다.근데 Jenkins가 깔려있는 컨테이너에서 Docker 설치를 거부하더군요..'docker open /certs/client/ca.pem: no such file or directory' 와 같이 pem키 이슈도 발생하고..Docker를 실행하기 위해 systemctl 명령어로 Docker를 실행시켜봐도 감감무소식..재설치를 해봐도 Docker가 설치되어있다고는 하는데 그 어디에도 Docker는 실행되고 있지 않는 참으로 환장할 이슈가 발생했습니다.기존 Jenkins 컨테이너는 Docker Image 빌드 없이 War를 만들어 ssh로 전달해주는 방식을 적용하..
-
[Mac] 실행중인 포트 확인 및 종료 방법스터디 노트 2024. 8. 19. 09:34
가끔 개발을 하다 보면 의도치 않게 Local Tomcat을 실행한 후 종료시켜버리는 경우들이 더러 있습니다.그 후 다시 로컬 톰캣을 실행하면 항상 해당 포트가 사용중이라는 문구가 뜨곤 하죠.. 가볍게 맥에서 사용중인 포트를 스캐닝하고 원하는 포트를 종료시키는 명령어를 공유해볼까 합니다.Operating System/Mac OS1. 현재 열린 포트 목록 확인 sudo lsof -PiTCP -sTCP:LISTEN2. 특정 포트를 찾아 종료하고 싶을 때 특정 포트의 PID 찾기 sudo lsof -i :8080 위에서 구한 PID로 종료: sudo kill -9 {PID} 전체 사용중인 포트를 리스트업해보면 아래와 같이 나옵니다. 아래의 리스트에서 원하는 포트를 체크하시면 됩니다. 둘째론 원하는 포트를..
-
[IntelliJ] Java Class 파일 주석 템플릿 설정하기프로젝트 노트 2024. 8. 18. 19:28
공통적으로 클래스를 생성할 때 적용되는 클래스 파일 주석 템플릿을 설정하는 방법입니다. 간단히 먼저 설명을 하고 넘어가자면 저희가 작성하는 파일 주석 템플릿은 아래의#parse("File Header.java") 부분에 대체되어 들어가게 됩니다. 설정을 해보겠습니다. File > Settings > Editor > File and Code Templates 메뉴에서 Includes를 선택합니다.여기엔 기본적으로 File Header가 적용되어 있습니다. 여기에 우리가 공통적으로 사용할 클래스 파일 주석 템플릿을 작성해줍니다./** * packageName : ${PACKAGE_NAME} * fileName : ${NAME} * author : ${USER} * date ..
-
[Spring boot + Docker + Swagger3] Ubuntu 환경의 Docker 컨테이너로 Spring boot 배포하기(with Swagger3 And jar)프로젝트 노트 2024. 8. 8. 10:43
최근 우분투 환경의 도커에 외장 톰캣을 두고 war로 배포를 하고 있었습니다.Maven으로 빌드를 하여 손쉽게 War를 만들고 그를 Tomcat에 배포하며 쉽게쉽게 사용을 하고 있었습니다. 여기에 신규 프로젝트를 하면서 내장 톰캣을 쓰기위해 jar로 빌드를 하였고, 여기서 문제에 당면하게 되었습니다.기존의 방식대로 하니 배포가 잘 되지 아니하는 것이었죠..404 Not Found가 뜨며 멘붕에 빠져있었습니다.ServletInitializer를 통해 부트 환경을 이니셜라이즈하게 만들어보려 했으나 빠르게 실패...멘붕에 빠져있다가 아예 도커 이미지로 만들어서 내장 톰캣을 도커에 띄우는 방향으로 가닥을 잡았습니다. Gradle의 빌드에 보면 jar와 bootJar Task가 있습니다. clean 이후 boot..
-
[Spring Boot + Gradle] 외장 톰캣에 War로 배포하기프로젝트 노트 2024. 8. 6. 12:09
내장 톰캣 이외에 외장 톰캣에 프로젝트를 배포하기 위해선 War로 빌드를 해야 합니다.plugins { id 'java' id 'org.springframework.boot' version '3.3.1' id 'io.spring.dependency-management' version '1.1.5'}ext { springCloudVersion = "2023.0.2"}group = 'com.dkt.always'version = '0.0.1-SNAPSHOT'apply plugin: 'war'... build.gradle에 apply plugin: 'war'를 추가해줍니다.그러면 War로 빌드할 수 있게끔 Task가 생깁니다.이를 통해 빌드를 해줍니다.
-
Ubuntu docker 설치 명령어 모음스터디 노트 2024. 7. 25. 21:06
1. 관리자 권한 주기sudo su2. 우분투 시스템 패키지 업데이트apt-get update3. 필요한 패키지 설치apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common4. Docker의 공식 GPG키를 추가curl -fsSL | sudo apt-key add -5. Docker의 공식 apt 저장소를 추가add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"6. 시스템 패키지 업데이트apt-get update7. Docker 설치apt-get install docker-ce docker-ce-cli containerd.io8..