certbot-auto has insecure permissions! 오류 DEV / SERVER
2020-05-28 posted by sang12
Letsencrypt를 사용하여 무료로 https를 사용하고 있는데요. 해당 인증서는 3개월 마다 갱신을 해줘야 하는데 드디어 그 기간이 왔네요. 하지만 cerbot-auto renew명령어를 치니 빨간줄이 쭉쭉 나오며 오류를 뿜내요.. (결국 기존 인증서를 삭제하고 다시 만듬) 하지만 그전에 위 오류가 나와서 삽질해서 이렇게 기록을 남깁니다.
https://community.letsencrypt.org/t/certbot-auto-deployment-best-practices/91979 해당 사이트를 보면 자세히 나와 있는데요 cerbot-auto 파일을 /usr/local/bin 경로로 옮겨주면 거짓말처럼 사라지는걸 볼 수 있습니다.
Spring Boot 무료 Https 인증서(SSL) 발급하기 (letsencrypt) DEV / SERVER
2020-03-15 posted by sang12
이번에 블로그에 https를 적용하면서 letsencrtpt를 이용하여 스프링부트와 CentOs 환경에서 인증서를 발급받는 방법을 알아 보겠습니다.
저는 https://github.com/certbot/certbot 깃허브 페이지에서 해당 소스를 clone해서 받아오는 방법을 이용하여 발급하였습니다.
yum install -y git
git clone https://github.com/letsencrypt/letsencrypt
깃으로 해당 소스를 받아왔다면 아래와 같이 자신의 이메일과 도메인 주소를 입력합니다. 루트 계정이 아니면 암호를 물어봅니다. 저는 루트 계정으로 진행했습니다.
./certbot-auto certonly --manual --email sang12@kakao.com -d test.co.kr
그리고 개인정보 아이피등이 활용될수있다는 것에 동의를 해주면 하나의 토큰값을 발급해줍니다.
해당 토큰값을 저의 사이트(test.co.kr/.well-known/~)에 인증을 해야 최종적으로 인증서가 발급됩니다. (putty로 서버에 붙어서 사용하는데 저 값을 복사할려고 컨트롤 c를 누를때마다 저 창이 꺼져서...부들부들했습니다 오른쪽마우스 키를 눌러도...동일... 그래서 저는 putty 상단창에서 오른쪽마우스 클릭하면 클립보드로 전체복사키가 있는데요 그걸 이용해서 복사해서 사용했습니다)
그럼 스프링부트에서 해당 위값이 나오게 수정을 해야하는데요. 아래와 같이 추가를 해줬습니다.
@RequestMapping(value = "/.well-known/acme-challenge/your tocken")
@ResponseBody
public String applyHttps(HttpServletResponse response) {
return "your tocken";
}
그리고 엔터를 눌러주면 /etc/letsencrypt/live/sang12.co.kr 해당 경로에 .pem 파일을 생성해주는데요 톰캣에서 인증서를 사용하기 위해서 아래와 같은 명령어를 사용해줍니다. 그럼 암호를 입력하라고 뜨는데 인증서에 사용할 암호를 입력합니다.
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name airpageserver -CAfile chain.pem -caname root
여기까지 SpringBoot에서 https를 인증서를 발급하는 방법을 알아보겠습니다. 이제 톰캣서버에 해당 인증서를 적용해봐야 겠네요.
2022.05.08 추가
토큰값을 스프링부트에서 만들어서 인증하는 방식보다는 잠깐 서비스를 내리고 인증하는 방법인 standalone 방식이 더 좋은거같습니다 ^^;
sudo apt update
sudo apt-get install letsencrypt -y
certbot certonly --standalone -d sang12.co.kr
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name airpageserver -CAfile chain.pem -caname root
node Js oracle procedure(프로시저) 실행 & DPI-1002 오류 DEV / SERVER
2020-02-25 posted by sang12
node Js에서 오라클로 프로시저를 실행하려고 하는데 해당 오류가 발생. DPI-1002: invalid dpiConn handle
커넥션 맺고 하는 부분은 아실거라 생각하고 생략!
문제의코드
var params = {
P_RETURN: { dir: oracledb.BIND_OUT }
};
await connection.execute( "CALL SP_TEST_CHOI(:P_RETURN)",
params,
function (err, ret) {
if (err) {
console.log('failed', err);
} else {
console.log(ret);
}
}
)
수정한 코드1
var params = {
P_RETURN: { dir: oracledb.BIND_OUT }
};
await new Promise (resolve =>
connection.execute( "CALL SP_TEST_CHOI(:P_RETURN)",
params,
function (err, ret) {
if (err) {
console.log('failed', err);
} else {
console.log(ret);
}
}
));
- 수정한코드 최종 async/await으로 변경
var params = {
P_RETURN: { dir: oracledb.BIND_OUT }
};
let result = await connection.execute(
'CALL HANMISHOP.SP_TEST_CHOI(:P_RETURN)',
params
)
console.log(result);