inflearn logo
강의

講義

知識共有

[コードキャンプ]ブートキャンプで作られた高濃縮バックエンドコース

03-09 認証番号送信API

http => htrtps 호출 인증서 신뢰 오류

解決済みの質問

350

gkdlsb1234

投稿した質問数 14

0

 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 설정하듯이 할수있는 방법이 있나요?

javascript node.js docker rest-api nestjs

回答 1

0

nwd09074926

안녕하세요! gkdlsb1234님!

self-signed 인증서를 사용하고 계신 것으로 보아, 로컬에서 톰캣 개발시 https 설정한 것 처럼 node/nestjs에서도 https를 설정하여 테스트 해보고 싶으신 것 같아요!

톰캣 개발시 사용하셨던 방법과 마찬가지로, node에서도 self-signed 인증서를 적용하여 연습해 보실 수 있어요!
아래와 같이 인증서를 만들어 보시고 적용해 보세요!
(보안 목적상, 실제 배포 수업에서는 로드밸런서 등의 정식인증서를 활용하여 배포하며, self-signed 인증서는 단지 로컬에서 연습용으로만 사용해 주세요.)

 

 

  1. 연습용 self-signed 인증서, 키 만들기

openssl req -nodes -new -x509 -keyout server.key -out server.cert -days 365

 


2. 중간에 localhost만 입력하고 나머진 다 그냥 Enter!

image.png

 


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

image.png

 

 

  1. 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 배포 완료")
})

 

 

  1. 요청을 위한 프론트엔드 만들기
    => /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는 신뢰하기 어려운 자체인증서이므로, 최초 접속시, 연결 허용하도록 풀어줘야 합니다.(사파리 브라우저도 마찬가지임)

image.png

 

 

 

image.png

 

 

 

image.png

* 이제부터 해당 주소는 로컬에서 작동 가능합니다.(axios, fetch 등)

 

 

 

 

 

  1. 버튼을 클릭하여 요청해보기

    image.png


    image.png


그래프 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