eulji-hf.netlify.app
*.eulji-hf.netlify.app
www.eulji-hf.netlify.app
CorsConfig.java 원래버전
package dreamdays.Helf.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import java.util.List;
@Configuration
public class CorsConfig {
@Bean
public CorsConfigurationSource corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.setAllowedOriginPatterns(List.of(
//리액트 로컬
"<http://localhost:3000>",
//프론트배포를 하면 그 도메인을 넣으면 됨
"<https://eulji-hf.netlify.app>",
"<http://127.0.0.1:5500>"
));
config.addAllowedMethod("*");
config.addAllowedHeader("*");
config.addExposedHeader("Set-Cookie");
config.addExposedHeader("Authorization");
config.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return source;
}
}
재수정 버전
package dreamdays.Helf.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import java.util.List;
@Configuration
public class CorsConfig {
@Bean
public CorsConfigurationSource corsFilter() {
CorsConfiguration config = new CorsConfiguration();
// 클라이언트의 origin(도메인) 추가
config.setAllowedOriginPatterns(List.of(
"<http://localhost:3000>", // 로컬 환경 (예: React 로컬 개발 서버)
"<https://eulji-hf.netlify.app>" // 배포된 프론트엔드 URL
));
// 모든 HTTP 메서드 허용 (GET, POST, PUT 등)
config.addAllowedMethod("*");
// 모든 요청 헤더 허용
config.addAllowedHeader("*");
// 'Content-Type'을 허용하는 헤더 추가
config.addAllowedHeader("Content-Type");
// 특정 응답 헤더를 클라이언트로 전달하도록 설정
config.addExposedHeader("Set-Cookie");
config.addExposedHeader("Authorization");
// 자격 증명(쿠키, 인증 헤더 등)을 허용
config.setAllowCredentials(true);
// OPTIONS 메서드를 명시적으로 허용하여 preflight 요청에 응답하도록 설정
config.addAllowedMethod("OPTIONS");
// CORS 설정을 모든 URL 경로에 적용
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return source;
}
}
nohup java : 로컬 컴퓨터를 꺼도 스프링을 자동으로 실행시켜주는 코드
한국시간으로 시간 설정, build/libs를 실행시키고 ./output.log에 로그를 저장하겠다.
nohup java -Duser.timezone=Asia/Seoul -jar build/libs/*SNAPSHOT.jar > ./output.log 2>&1 &
이러면 로그가 확인이 안된다. 이 로그를 확인할 수 있는 방법
tail -f ./output.log
⚠️ 주의사항! : nohup을 사용하면 로컬에서 컴퓨터가 꺼져도 서버가 계속 구동되니 코드 변경이나 수정사항이 있어 깃을 변경하거나 pull을 하려면 반드시 서버를 꺼야한다.
우분투 첫 폴더에 있다면 cd [프로젝트 폴더]로 프로젝트 폴더 파일로 이동
netstat -ntlp | grep :8080 : 현재 실행중인 8080포트를 찾는다.
(현재 spring으로 8080을 사용중 만약 다른 포트를 연다면 열고있는 포트를 검색)
sudo kill ~ : 작동중인 pid 연결 끊기