=== echo 가 왜 401 을 내나 ===
	at java.base/sun.nio.ch.Net.connect0(Native Method) ~[na:na]
	at java.base/sun.nio.ch.Net.connect(Unknown Source) ~[na:na]
	at java.base/sun.nio.ch.Net.connect(Unknown Source) ~[na:na]
	at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source) ~[na:na]
	at java.base/java.net.SocksSocketImpl.connect(Unknown Source) ~[na:na]
	at java.base/java.net.Socket.connect(Unknown Source) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source) ~[na:na]
	at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source) ~[na:na]
	at java.base/sun.net.NetworkClient.doConnect(Unknown Source) ~[na:na]
	at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) ~[na:na]
	at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.https.HttpsClient.New(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) ~[na:na]
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) ~[na:na]
	at org.springframework.http.client.SimpleClientHttpRequest.executeInternal(SimpleClientHttpRequest.java:79) ~[spring-web-6.2.19.jar!/:6.2.19]
	at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:88) ~[spring-web-6.2.19.jar!/:6.2.19]
	at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:81) ~[spring-web-6.2.19.jar!/:6.2.19]
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:900) ~[spring-web-6.2.19.jar!/:6.2.19]
	... 101 common frames omitted


=== echo 의 issuer 설정 ===
[{"name":"SERVER_PORT","value":"8081"},{"name":"SERVER_FORWARD_HEADERS_STRATEGY","value":"native"},{"name":"JAVA_TOOL_OPTIONS","value":"-XX:MaxRAMPercentage=70"},{"name":"SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI","value":"https://auth.hyeonworks.com/realms/keycloak-patterns"},{"name":"SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI","value":"https://auth.hyeonworks.com/realms/keycloak-patterns/protocol/openid-connect/certs"}]

=== 401 의 WWW-Authenticate ===
HTTP/1.1 401 Unauthorized
Server: nginx/1.22.1
Date: Thu, 17 Sep 2026 07:17:43 GMT
Content-Length: 0
Connection: keep-alive
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Expires: 0
Pragma: no-cache

=== realm 의 accessTokenLifespan ===
{
  "accessTokenLifespan" : 60,
  "ssoSessionIdleTimeout" : 1800
}=== 시계 차이 ===
host 1789629559
kc-0 1789629465
