TLS Authentication

Eureka ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ๋•Œ ์ธ์ฆ์„ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Eureka ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค ์ƒ์„ฑ

$ keytool -genkeypair -alias eureka-server -keyalg RSA -keysize 2048 -storetype JKS -keystore keystore.jks -validity 3650
$ keytool -export -alias eureka-server -file eureka-server.cer -keystore keystore.jks

Eureka ์„ค์ •

์˜์กด์„ฑ ์ถ”๊ฐ€

ext {
    set('springCloudVersion', "2023.0.1")
}

dependencies {
    implementation 'org.jetbrains.kotlin:kotlin-reflect'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

์„œ๋ฒ„ ์„ค์ •

spring:
  application:
    name: eureka-server

server:
  port: 8761

eureka:
  server:
    enable-self-preservation: true

  client:
    tls:
      enabled: true
      key-store: classpath:keystore.jks
      key-store-password: password
      key-store-type: JKS
      key-alias: eureka-server
      
    service-url:
      defaultZone: http://localhost:8761/eureka/
    register-with-eureka: false
    fetch-registry: false

ํด๋ผ์ด์–ธํŠธ ์„ค์ •

spring:
  application:
    name: eureka-client

server:
  ssl:
    key-store: classpath:keystore.jks
    key-store-password: 132435!
    key-store-type: JKS
    key-password: 132435!
    client-auth: need

eureka:
  client:
    service-url:
      defaultZone: https://localhost:8761/eureka/
    tls:
      key-store: classpath:keystore.jks
      key-store-password: 132435!
      key-store-type: JKS
      key-password: 132435!
      enabled: true
    register-with-eureka: true

  instance:
    hostname: localhost
    secure-port-enabled: true
    prefer-ip-address: false

TIP ์ด์™€ ๊ฐ™์€ ์—๋Ÿฌ ๋ฐœ์ƒ์‹œ ์ธ์ฆ์„œ ํ™•์ธ PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException

Last updated