Node.js를 사용하여 로컬에서 SSL을 설정하는 방법은 무엇입니까?

4176 단어 expressjavascriptnode
Node.js 백엔드를 로컬에서 실행하는 경우 기본적으로 HTTP를 사용하여 제공됩니다. 경우에 따라 Azure B2C 또는 이와 유사한 서비스를 통합하기 위해 백엔드가 https를 통해 제공되어야 합니다. 이 문서는 로컬 개발에서 https를 통해 Node.js 백엔드를 제공하도록 express.js를 구성하는 방법에 관한 것입니다. Node.js에서 이것이 어떻게 가능한지 봅시다.

React 앱에서 이것이 어떻게 달성되는지 알고 싶다면 이 기사(How to setup ssl in React)를 확인하고 Angular에 대해서는 이 기사(How to setup ssl in Angular)를 확인하세요.

개발에서 HTTPS 사용

To use https locally, we have to do the following:

  1. Generate local Certificate Authority, and an SSL certificate
  2. Set the certificates when serving the Node.js backend
  3. Testing!

사용자 정의 SSL 인증서

You have to create a local Certificate Authority, and an SSL certificate and set the SSL_CERT_FILE and SSL_KEY_FILE to the generated files.

SSL 인증서 생성

As the first step, you should generate a local Certificate Authority, and an SSL certificate for Local Development.

You need a package manager to install mkcert:

10 6 10 6
  • Linux: certutil을 사용합니다. Arch Linux만 해당, mkcert는 Arch Linux 저장소에서 사용할 수 있습니다.
  • Windows: 사용 MacOS: Use .
  • 설치 Homebrew .
  • mkcert -install을 사용하여 로컬로 신뢰할 수 있는 CA를 만듭니다.
  • mkcert localhost으로 SSL 인증서를 생성하십시오.


  • 맥포트 초콜릿 같은

    mkcert

    사용자 지정 SSL 인증서 설정 SSL을 사용하여 Express.js 앱을 로컬로 제공하려면 옵션 개체(키 및 인증서 속성)를 업데이트해야 합니다. 따라서 로컬 인증 기관 및 SSL 인증서를 생성한 후 키 및 인증서 속성을 인증서 및 키 파일의 경로로 설정해야 합니다. 간단한 익스프레스 서버를 살펴보자. 변수 CERT-PATH 및 KEY-PATH는 생성된 파일의 경로입니다. 프로젝트 폴더를 생성하거나 추가합니다. mkdir 노드 SSL 테스트 노드 패키지를 설치할 수 있도록 npm init -y로 프로젝트를 초기화합니다. cd 노드 SSL 테스트 npm 초기화 -y 익스프레스를 설치합니다. npm 설치 익스프레스 index.js 파일을 만듭니다. 터치 index.js 예제 코드를 복사합니다. const https = 요구('https'); const fs = 요구('fs'); const 표현 = 요구('표현'); const 앱 = 익스프레스(); 상수 옵션 = { 키: fs.readFileSync(CERT_PATH), 인증서: fs.readFileSync(KEY_PATH), }; app.use((요청, 해상도, 다음) => { res.send('<h1>HTTPS가 작동 중입니다!</h1>'); }); 상수 포트 = 3000; https.createServer(옵션, 앱).listen(포트, () => { console.log('서버 수신 포트 ' + 포트); }); 이제 index.js 노드로 index.js 파일을 실행하고 브라우저 탭을 열고 https://localhost:3000 으로 이동하면 HTTPS가 작동하는 것을 볼 수 있습니다!. 브라우저 개발 도구(Chrome -> 보안 탭 또는 잠금 아이콘)에서 인증서를 검사할 수도 있습니다.

    TL;DR
    • To enable HTTPS locally, local certificate authority and ssl certificate have to be created and set in the options object in the Express.js server.

    Thanks for reading and if you have any questions , use the comment function or send me a message .

    을 보십시오.

    참조(그리고 큰 감사):

    If you want to know more about , Node , Node Tutorials

    좋은 웹페이지 즐겨찾기