>  기사  >  웹 프론트엔드  >  Nodejs는 https를 로컬로 빌드합니다.

Nodejs는 https를 로컬로 빌드합니다.

王林
王林원래의
2023-05-23 16:56:37587검색

인터넷 기술과 애플리케이션의 지속적인 발전으로 보안 문제가 점점 더 주목을 받고 있습니다. 전송 보안은 현대 네트워크 애플리케이션의 필수 요소가 되었습니다. 이러한 맥락에서 HTTPS(Secure Socket Layer를 통한 하이퍼텍스트 전송 프로토콜)는 인터넷에서 데이터를 전송하는 주요 방법이 되었습니다. SSL/TSL 프로토콜을 통해 암호화된 데이터 전송을 실현하여 데이터 전송 보안을 크게 향상시킬 수 있습니다.

HTTPS를 사용하는 경우 서버측 인증서를 사용해야 합니다. 인증서는 서버의 신원을 증명하고 정보 전송 중 보안을 보장하는 데 사용될 수 있습니다. 이 기사에서는 Node.js에서 로컬 인증서를 사용하여 HTTPS 서버를 구축하는 방법을 소개합니다.

로컬 인증서를 생성하는 방법:
먼저 HTTPS 연결을 설정하려면 신뢰할 수 있는 인증서가 필요합니다. 각 운영 체제의 루트 인증서는 다를 수 있습니다. 자체 서명된 인증서를 생성하는 방법은 무엇입니까? openssl 도구를 사용하면 됩니다.

Linux 시스템을 예로 들어 다음 명령을 실행합니다:

openssl genrsa -out private.key 1024
openssl req -new -key private.key -out cert.csr
openssl x509 -req -in cert. csr -signkey private.key -out cert.crt

위 명령을 순서대로 실행하면 private.key, cert.csr, cert.crt 3개의 파일이 생성됩니다.

그 중 private.key가 개인키이고 cert.crt가 인증서입니다. cert.csr은 인증서 서명 요청이며 이 파일은 무시할 수 있습니다.

다음으로 이 파일을 사용하여 HTTPS 서버를 구축할 수 있습니다.

Node.js는 HTTPS를 사용하여 로컬 서버를 구축합니다.
먼저 app.js와 같은 Node.js 서버 파일을 만들어야 합니다. 이 파일에서는 https 및 fs 모듈을 도입해야 합니다.

const https = require('https');
const fs = require('fs');

다음으로 In에서 몇 가지 매개변수를 정의해야 합니다. 이 예에서는 인증서 파일과 포트 번호를 정의해야 합니다.

const options = {
key: fs.readFileSync('private.key'),
cert: fs.readFileSync('cert.crt')
};
const port = 3000;

그 중 key와 cert는 위에서 생성한 인증서 파일입니다.

다음으로, HTTPS 서버를 생성하고 포트 번호를 수신해야 합니다:

const server = https.createServer(options, (req, res) => {
res.writeHead(200);
res.end (' hello world
');
});

server.listen(port, () => {
console.log(server listening on port ${port});
});

이제 Node.js 서버를 실행할 수 있습니다. 파일에서 명령줄에 다음 명령을 실행합니다:

$ node app.js

브라우저에 https://localhost:3000을 입력하면 브라우저는 현재 인증서가 안전하지 않기 때문에 웹 사이트가 안전하지 않다는 것을 알게 됩니다. 자체 서명된 인증서. 브라우저는 이를 신뢰할 수 있는 인증서로 간주하지 않습니다.

브라우저가 이 인증서를 신뢰하도록 하려면 인증서를 브라우저로 가져오거나 공식 인증서를 구매해야 합니다.

인증서를 가져오려면 Chrome에서 https://localhost:3000 웹사이트를 열고 고급 버튼을 클릭한 다음 "localhost로 계속(안전하지 않음)" 링크를 클릭하고 웹사이트를 마우스 오른쪽 버튼으로 클릭하고 " 인증서 보기'를 클릭한 후 인증서 세부정보 페이지에서 공개 키 복사를 클릭합니다. 그런 다음 브라우저에서 chrome://settings/certificates를 연 다음 "기타 작업" > "가져오기" 버튼을 클릭하고 팝업 "인증서 가져오기 마법사"에서 "클립보드에서 인증서 가져오기"를 선택한 다음 누릅니다. 지침을 따르십시오.

이런 방식으로 로컬에서 HTTPS 서버를 구축할 수 있습니다. 실제 적용에서는 통신 보안을 보장하기 위해 공식 인증서를 사용해야 합니다.

위 내용은 Nodejs는 https를 로컬로 빌드합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.