diff --git a/smarketing-java/common/src/main/java/com/won/smarketing/common/config/SecurityConfig.java b/smarketing-java/common/src/main/java/com/won/smarketing/common/config/SecurityConfig.java index 7b8f4f2..e71887c 100644 --- a/smarketing-java/common/src/main/java/com/won/smarketing/common/config/SecurityConfig.java +++ b/smarketing-java/common/src/main/java/com/won/smarketing/common/config/SecurityConfig.java @@ -45,7 +45,14 @@ public class SecurityConfig { .authorizeHttpRequests(auth -> auth .requestMatchers("/api/auth/**", "/api/member/register", "/api/member/check-duplicate/**", "/api/member/validate-password", "/swagger-ui/**", "/v3/api-docs/**", - "/swagger-resources/**", "/webjars/**", "/actuator/**", "/health/**", "/error").permitAll() + "/swagger-resources/**", "/webjars/**", "/actuator/**", "/health/**", "/error" + ).permitAll() + // Rewrite된 경로들 허용 (새로 추가!) + .requestMatchers("/login", "/register", "/auth/**").permitAll() // Member 서비스 + .requestMatchers("/stores", "/stores/**").permitAll() // Store 서비스 + .requestMatchers("/content", "/content/**").permitAll() // Content 서비스 + .requestMatchers("/recommend", "/recommend/**").permitAll() // AI Recommend 서비스 + .anyRequest().authenticated() ) .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); diff --git a/smarketing-java/deployment/deploy.yaml.template b/smarketing-java/deployment/deploy.yaml.template index 0416d61..9b8d945 100644 --- a/smarketing-java/deployment/deploy.yaml.template +++ b/smarketing-java/deployment/deploy.yaml.template @@ -469,35 +469,38 @@ metadata: namespace: ${namespace} annotations: kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" spec: ingressClassName: nginx rules: - host: smarketing.20.249.184.228.nip.io http: paths: - - path: /api/auth - pathType: Prefix + - path: /api/auth(/|$)(.*) + pathType: ImplementationSpecific backend: service: name: member port: number: 80 - - path: /api/store - pathType: Prefix + - path: /api/store(/|$)(.*) + pathType: ImplementationSpecific backend: service: name: store port: number: 80 - - path: /api/content - pathType: Prefix + - path: /api/content(/|$)(.*) + pathType: ImplementationSpecific backend: service: name: marketing-content port: number: 80 - - path: /api/recommend - pathType: Prefix + - path: /api/recommend(/|$)(.*) + pathType: ImplementationSpecific backend: service: name: ai-recommend