>  기사  >  웹 프론트엔드  >  Express에서 HTTP를 HTTPS로 연결하는 방법

Express에서 HTTP를 HTTPS로 연결하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-06-07 09:41:052023검색

이번에는 Express에서 HTTP를 HTTPS로 보내는 방법과 주의사항에 대해 알려드리겠습니다.

로컬에서 테스트해보니 HTTP는 포트 3000, HTTPS는 443을 사용했습니다.

HTTP와 HTTPS를 동시에 모니터링

이전 글 Express 로컬 테스트 HTTPS 참조

모든 GET 요청 전달

httpApp.get("*", (req, res, next) => {
  let host = req.headers.host;
  host = host.replace(/\:\d+$/, ''); // Remove port number
  res.redirect(`https://${host}${req.path}`);
});

에 해당 그런 다음 https 링크가 리디렉션됩니다. 이때 브라우저는 302(MOVED_TEMPORARILY) 상태 코드를 수신하고 HTTPS로 리디렉션됩니다.

모든 요청 전달

httpApp.all("*", (req, res, next) => {
  let host = req.headers.host;
  host = host.replace(/\:\d+$/, ''); // Remove port number
  res.redirect(307, `https://${host}${req.path}`);
});

두 가지 수정 사항이 있습니다.

  1. httpApp.get이 httpApp.all로 변경

  2. 리디렉션 시 첫 번째 매개변수 307(TEMPORARY_REDIRECT)이 추가되었습니다.

첫 번째 수정만 추가하면 리디렉션 중에 메서드가 유지되지 않아 POST 요청이 다음과 같이 발생합니다. GET 요청이 됩니다. 두 번째 수정 사항을 추가하세요.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요.

추천 도서:

프로젝트에서 Angularjs 사용자 정의 지침을 사용하는 방법

JQuery 요소를 작동하는 방법

위 내용은 Express에서 HTTP를 HTTPS로 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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