http => htrtps 호출 인증서 신뢰 오류
self-signed certificate in certificate chain 발생합니다.
1번
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';2번
// SSL 인증 무시를 위한 Agent 생성
const httpsAgent = new https.Agent({
rejectUnauthorized: false
});await axios.get("target_url", { httpsAgent: agent });1,2 번 외 해결 방법이 있을까요?
또는 2번을 적용하려면 어떻게 해야하나요?
또는 Java에서 로컬 톰캣 서버에서 HTTPS 설정하듯이 할수있는 방법이 있나요?
回答 1
0
안녕하세요! gkdlsb1234님!
self-signed 인증서를 사용하고 계신 것으로 보아, 로컬에서 톰캣 개발시 https 설정한 것 처럼 node/nestjs에서도 https를 설정하여 테스트 해보고 싶으신 것 같아요!
톰캣 개발시 사용하셨던 방법과 마찬가지로, node에서도 self-signed 인증서를 적용하여 연습해 보실 수 있어요!
아래와 같이 인증서를 만들어 보시고 적용해 보세요!
(보안 목적상, 실제 배포 수업에서는 로드밸런서 등의 정식인증서를 활용하여 배포하며, self-signed 인증서는 단지 로컬에서 연습용으로만 사용해 주세요.)
연습용 self-signed 인증서, 키 만들기
openssl req -nodes -new -x509 -keyout server.key -out server.cert -days 365
2. 중간에 localhost만 입력하고 나머진 다 그냥 Enter!

3. 완성된 결과는 아래와 같아요!

node 서버에서 https 인증서 적용하여 https서버 만들기
import express from 'express'
import https from 'https'
import fs from 'fs'
import cors from 'cors'
const app = express()
app.use(cors())
app.get("/qqq", (req, res) => {
res.json(JSON.stringify({ name: "철수", age: 12 }))
})
https.createServer({
key: fs.readFileSync("server.key"),
cert: fs.readFileSync("server.cert")
}, app).listen((8443) => {
console.log("https://localhost:8443 배포 완료")
})
요청을 위한 프론트엔드 만들기
=> /qqq 엔드포인트에 api 요청해보기
<!DOCTYPE html>
<html lang="ko">
<head>
<title>https 요청하자</title>
<script>
const call = async () => {
const result = await fetch("https://localhost:8443/qqq")
const data = await result.json()
console.log(data)
}
</script>
</head>
<body>
<button onclick="call()">요청하자</button>
</body>
</html>
self-signed는 신뢰하기 어려운 자체인증서이므로, 최초 접속시, 연결 허용하도록 풀어줘야 합니다.(사파리 브라우저도 마찬가지임)



* 이제부터 해당 주소는 로컬에서 작동 가능합니다.(axios, fetch 등)
버튼을 클릭하여 요청해보기


그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?
0
83
2
강의 전체 소스 코드를 받고싶습니다.
0
76
2
fontawesome 사용 문의
0
77
2
소스 코드 부탁드립니다~
0
85
2
깃 레포지터리 소스
0
82
2
커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요
0
73
2
10-01 Entity TypeOrmModule.forRoot 에 entities
0
85
3
강의 버전관련 문의입니다
0
102
2
Ubuntu 설치 관련
0
61
1
schema.gql 질문 드립니다.
0
51
1
서버 재실행시 Many to Many
0
101
3
input 관련 문의
0
90
2
Rest API 보다는 graphql이 주된 내용인데
0
130
2
강의 전체 소스코드 받을수있을까요?
0
155
1
도커볼륨 마운트 관련
0
127
2
findOne 타입스크립트오류
0
109
1
self-signed certificate in certificate chain 에러 발생
0
413
1
mongoose 설치 오류
0
142
1
특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)
0
281
2
08-06
0
178
3
구조랑 패턴 관련해서 질문
0
125
2
mydocker
0
128
2
coolsms statuscode 2000 인데 전송안돼는 경우 확인.
0
156
1
싸이월드 과제 쪽이 궁금합니다.
0
147
2

