3일 동안 삽질함..
아직 완벽히 해결된 게 없다.
aws ec2에서 s3로 파일업로드를 할 때
s3의 접근권한을 확인하고 객체를 얻어서
이미지를 업로드한다.
(요건 뭐 검색하면 다 나옴)
문제는 accesskey, secretkey는
보호되어야 된다.
키가 노출되어
3자가 파일업로드를 대량 해버리면
요금 폭탄을 맞는다.
보호하는 방법은 정말 다양했다.
1. 리눅스 OS(배포 OS)에 환경변수로 추가하여 properties에서 사용하기
-> placeholder error 발생으로 실패(properties에 ${ 변수명 } 요걸 인식못하면 해당 에러발생..)
2. 톰캣 환경변수
-> /bin/setenv.sh 파일에서 변수명 설정하여 사용 (시도안해봄)
3. catailna.properties 파일 수정
-> " standard or common configuration" 톰캣 공유 데이터가 들어가있음 (시도안함)
4. application.properties, env.properties(키값 있는 파일, 대신 git엔 안올림)
-> properties 파일을 두개 두어 하나는 gitignore을 걸어서 보호할 수 있게 함
-> 적용한 방법
-> placeholder문제로 시간이 걸림..
설명시작 >>>>>>>>>>>>>>>>>>>>>>>
키값 넣을 파일경로는 다음과 같다.
application.properties에
"나 다른 파일 config에서값 쓸거야~"
라고 얘기해줘야함
그것이 바로
optional은
"해당 파일에 키값이 있으면 그걸로 써~"
라는 뜻이다
위 value 값을
이상하게 넣어놨다.
그냥 의미없는 데이터다.
실제로 value가 있는
env.properties 값을 보자
실제 데이터가 있고
이 데이터가
application.properties에 불러와져서
의미없는 데이터에 덮어쓰기가 된다.
사용할 때는
properties환경변수로
불러와 사용하면 됨!
이제 access key , secretkey 분리하는건 됐고...
gitignore을 통해
push할 때
env.properties(secretkey있는 파일)은
올라가지않게 해보자
요래하고 올리면됨!
'서버' 카테고리의 다른 글
aws ec2) 도메인 호스팅(리다이렉트설정) vue<->boot cors에러나는이유 (0) | 2024.02.28 |
---|---|
wireshark) you do not have permission to capture on device en0 해결 (0) | 2024.02.23 |
aws ec2) 이미지 업로드를 위해 s3와 연동 (0) | 2024.02.19 |
aws ec2) application.properties에서 OS환경변수사용하기(secret key 안전하게 사용) (0) | 2024.02.19 |
aws ec2) 파일질라로 접속하기 (1) | 2024.02.18 |