반응형

Docker에서 프록시 구성

1. 개요 Docker를 사용하는 동안 인터넷에 직접 액세스할 수 없는 경우 인터넷에 연결할 수 있도록 Docker 엔진과 Docker 클라이언트 모두에 프록시 설정을 제공합니다. 회사 네트워크 또는 사설 클라우드에서 Docker를 사용할 때 일반적으로 프록시 서버를 통해 인터넷에 연결해야 할 수 있습니다. 이 경우 프록시를 사용해야 합니다. 이 사용방법(예제)에서는 Docker로 프록시를 구성할 때 발생할 수 있는 문제를 해결하는 방법을 알아봅니다. 2. 프록시란? 프록시 서버 는 요청한 사용자와 웹사이트 간의 트래픽을 제어하고 라우팅합니다 . 프록싱은 사용자를 보호하고 네트워크 Security 및 개인 정보 보호 정책을 유지하는 것을 목표로 합니다. 프록시가 없으면 사용자는 대상 서버에 직접 요청을 ..

Spring 2022.11.25

Nginx를 정방향 프록시로 사용

1. 소개 Nginx는 가장 인기 있는 서버 중 하나입니다. 빠르고 가벼우며 인터넷에서 가장 큰 사이트를 호스팅할 책임이 있습니다. Nginx는 로드 밸런서, 리버스 프록시, HTTP 캐시 등으로 자주 사용됩니다. 이 사용방법(예제)에서는 요청된 위치에 대한 순방향 프록시로 사용하는 방법을 배우는 데 중점을 둡니다. 2. 정방향 프록시에 대한 동기 프록시 서버는 클라이언트와 요청된 리소스의 호스트 사이에서 중개자 역할을 하는 엔터티입니다. 이는 트래픽이 목적지(호스트 서버)에 도달하기 위해 추가 시스템을 통과함을 의미합니다. 프록시는 클라이언트를 대신하여 요청을 계속하므로 호스트 서버가 요청을 수락하면 프록시의 IP만 볼 수 있습니다. 이에 비해 리버스 프록시는 웹 바로 앞에 위치하며 클라이언트에서 오는..

Spring 2022.11.25

프록시 뒤에서 Maven 사용

1. 소개 이 예제에서는 인터넷에 직접 연결하지 않는 환경에서 일반적인 상황인 프록시 뒤에서 작동 하도록 Maven 을 구성 할 것입니다. 이 예에서 프록시는 'proxy.baeldung.com' 머신에서 실행 중이며 포트 '80'에서 HTTP를 통해 프록시 요청을 수신합니다. 프록시를 거치지 않아도 되는 internal.baeldung.com의 일부 내부 사이트도 사용할 것입니다. 2. 프록시 구성 먼저 자격 증명 없이 기본 프록시 구성을 설정해 보겠습니다 . 일반적으로 ' /.m2' 디렉토리 에 있는 Maven settings.xml 을 편집해 보겠습니다. 아직 없는 경우 ' /conf' 디렉터리의 전역 설정에서 복사할 수 있습니다. 이제 섹션 내에 항목을 생성해 보겠습니..

Spring 2022.11.25

Core Java에서 프록시 서버를 통해 연결

1. 소개 프록시 서버는 클라이언트 응용 프로그램과 다른 서버 간의 중개자 역할을 합니다. 기업 환경에서 우리는 일반적으로 네트워크 경계를 넘어 사용자가 소비하는 콘텐츠에 대한 제어를 제공하기 위해 이를 사용합니다. 이 사용방법(예제)에서는 Java에서 프록시 서버를 통해 연결하는 방법을 살펴보겠습니다 . 먼저 JVM 전체에 적용되고 시스템 속성으로 구성된 이전의 보다 글로벌한 접근 방식을 살펴보겠습니다. 그런 다음 연결별로 구성을 허용하여 더 많은 제어 기능을 제공 하는 Proxy 클래스를 소개합니다. 2. 설정 이 문서의 샘플을 실행하려면 프록시 서버에 액세스해야 합니다. Squid 는 대부분의 운영 체제에서 사용할 수 있는 대중적인 구현입니다. Squid의 기본 구성은 대부분의 예제에 적합합니다. ..

Spring 2022.11.23

Zuul 프록시를 사용한 Spring REST

1. 개요 이 문서에서는 별도로 배포되는 프런트 엔드 애플리케이션과 REST API 간의 통신을 살펴보겠습니다 . 목표는 브라우저의 CORS 및 Same Origin Policy 제한을 해결하고 UI가 동일한 출처를 공유하지 않더라도 API를 호출할 수 있도록 하는 것입니다. 우리는 기본적으로 UI 애플리케이션과 간단한 REST API라는 두 개의 별도 애플리케이션을 만들고 UI 애플리케이션 에서 Zuul 프록시 를 사용하여 REST API에 대한 프록시 호출을 할 것입니다. Zuul은 Netflix의 JVM 기반 라우터 및 서버 측 로드 밸런서입니다. 그리고 Spring Cloud는 포함된 Zuul 프록시와 잘 통합되어 있습니다. 여기서 사용할 것입니다. 2. 메이븐 구성 먼저 Spring Cloud의..

Spring 2022.11.23

스프링 시큐리티와 OpenID Connect

이 문서는 새로운 Spring Security OAuth 2.0 스택으로 업데이트되었습니다. 그러나 레거시 스택을 사용하는 사용방법(예제) 는 계속 사용할 수 있습니다. 1. 개요 이 예제에서는 Spring Security로 OIDC(OpenID Connect)를 설정하는 데 중점을 둘 것입니다. 우리는 이 사양의 다양한 측면을 제시하고 Spring Security가 OAuth 2.0 클라이언트에서 이를 구현하기 위해 제공하는 지원을 볼 것입니다. 2. 빠른 OpenID 연결 소개 OpenID Connect 는 OAuth 2.0 프로토콜 위에 구축된 ID 계층입니다. 따라서 OIDC, 특히 인증 코드 흐름에 대해 알아보기 전에 OAuth 2.0 을 아는 것이 정말 중요합니다 . OIDC 사양 제품군은 광..

Spring 2022.11.23

Spring Boot에서 Keycloak 사용에 대한 빠른 사용방법(예제)

1. 개요 이 예제에서는 Spring Security OAuth2.0을 사용하여 Keycloak 서버를 설정하고 Spring Boot 애플리케이션을 연결하는 기본 사항에 대해 설명합니다. 2. 키클로크란? Keycloak 은 최신 애플리케이션 및 서비스를 대상으로 하는 오픈 소스 ID 및 액세스 관리 솔루션입니다. Keycloak은 SSO(Single-Sign-On), ID 브로커링 및 소셜 로그인, 사용자 연합, 클라이언트 어댑터, 관리 콘솔 및 계정 관리 콘솔과 같은 기능을 제공합니다. 이 사용방법(예제)에서는 Keycloak의 관리 콘솔을 사용하여 Spring Security OAuth2.0을 사용하여 Spring Boot를 설정하고 연결합니다. 3. Keycloak 서버 설정 이 섹션에서는 Key..

Spring 2022.11.21

Spring Boot를 사용한 GraphQL의 오류 처리

1. 개요 이 예제에서는 GraphQL 의 오류 처리 옵션에 대해 알아봅니다 . 오류 응답에 대한 GraphQL 사양의 내용을 살펴보겠습니다. 결과적으로 Spring Boot를 사용하여 GraphQL 오류 처리의 예를 개발할 것입니다. 2. GraphQL 사양에 따른 응답 GraphQL 사양에 따라 수신된 모든 요청은 올바른 형식의 응답을 반환해야 합니다. 이 잘 구성된 응답은 각각의 성공 또는 실패 요청 작업의 데이터 또는 오류 맵으로 구성됩니다. 또한 응답에는 일부 성공한 결과 데이터 및 필드 오류가 포함될 수 있습니다. 응답 맵의 핵심 구성 요소는 오류 , 데이터 및 확장 입니다. 응답 의 오류 섹션은 요청된 작업 중 실패를 설명합니다. 오류가 발생 하지 않으면 응답에 오류 구성 요소가 없어야 합니..

Spring 2022.11.21

Mono의 doOnNext()와 doOnSuccess() 비교

1. 개요 이 짧은 예제에서는 Spring 5 WebFlux 에서 Mono 객체의 다양한 리스너를 탐색합니다 . 우리는 doOnNext() 와 doOnSuccess() 메서드를 비교하고 유사하지만 비어 있는 Mono 에 대해 다르게 동작한다는 것을 발견할 것 입니다. 2. 두온넥스트 Mono 의 doOnNext() 를 사용하면 데이터가 방출될 때 트리거될 리스너를 연결할 수 있습니다. 이 문서의 코드 예제에서는 PaymentService 클래스를 사용합니다. 이 경우에는 paymentMono 가 데이터를 내보낼 때만 doOnNext()를 사용하여 processPayment 메서드 를 호출합니다. @Test void givenAPaymentMono_whenCallingServiceOnNext_thenCal..

Spring 2022.11.21

Docker에 볼륨을 추가할 때 하위 폴더 제외

1. 개요 컨테이너 리소스를 호스트에 연결해야 할 때 Docker 볼륨 을 마운트 합니다. 명명된 볼륨 또는 바인드 마운트와 같은 다른 볼륨을 사용할 수 있습니다. 또한 영구적이든 아니든 로컬 또는 원격 리소스를 사용할 수 있습니다. 그러나 마운트할 때 필요하지 않은 일부 파일이나 폴더 등을 제외해야 할 수 있습니다. 이 사용방법(예제)에서는 일부 Docker Compose 예제 를 사용하여 볼륨을 탑재할 때 폴더를 제외하는 방법을 알아봅니다 . 2. Nodejs 도커 이미지 생성 그렇다면 왜 Docker 를 사용하여 일부 파일이나 폴더를 제외해야 합니까? 먼저 Docker 이미지에 대해 살펴보겠습니다. 이미지를 빌드할 때 일반적으로 애플리케이션 파일을 추가합니다. 데모를 위해 Nodejs 를 사용하여 ..

Spring 2022.11.21
반응형