>

웹 사이트 호스팅의 초보자입니다. 내 질문이 너무 어리 석거나이 질문을하기에 적절한 장소가 아닌지 고려해주십시오.

웹 사이트 (하위 도메인에서 호스팅)가 이미 HTTP에서 완벽하게 실행되고 있습니다. Let 's Encrypt를 사용하여 HTTPS로 이동하고 있습니다. 인증서를 생성하고 애플리케이션을 구성한 다음 AWS lightsail을 사용하여 배포했습니다. lightsail 인스턴스 IP가 내 하위 도메인으로 지정되는 A 레코드를 사용하여 도메인 이름을 지정했습니다.

문제: URL https : //를 사용하여 웹 사이트를 방문 할 때마다 subdomain.mywebsite.com:80 개인 정보 보호 오류없이 완벽하게 작동합니다. 내 HTTPS 서버는 포트 80에서 수신 대기합니다. 그러나 subdomain.mywebsite.com:80 또는 subdomain.mywebsite.com과 같은 다른 URL을 시도하면 Google 크롬에서 "연결이 비공개입니다"라는 개인 정보 보호 오류가 발생합니다.

내가 이해할 수없는 몇 가지 기본 사항이 누락 된 것 같습니다.

내 응용 프로그램은 nodejs 기반이며 내 서버의 일부입니다

const options = {
       cert: fs.readFileSync('./sslcert/fullchain.pem'),
       key: fs.readFileSync('./sslcert/privkey.pem')
    };
    app.listen(function () {
      console.log("Live");
    });
    https.createServer(options, app).listen(80, function() {
      console.log("From HTTPS");
    });


  • 답변 # 1

    브라우저가 자동으로 https 프로토콜을 적용하는 방식으로 모든 요청을 포트 80으로 포트 443으로 리디렉션하는 것입니다.

    즉, 누군가 "subdomain.mywebsite.com"을 사용하는 경우 기본적으로 http 및 포트 80 (예 : "http://subdomain.mywebsite.com:80")이며 " https://subdomain.mywebsite.com ", 기본적으로 포트 443에서 수신 대기 중이며 https의 표준 포트 인 포트 443에서 https 서비스를 구성합니다.

    두 가지 접근 방식이 있습니다 :

    node.js에서 리디렉션을 수행하십시오 :이 답변에서 지침을 찾아보십시오 : 자동 HTTPS 연결 /node.js/express와의 리디렉션

    리디렉션을 수행하기 위해 프록시 사용 :이 블로그 게시물에서 지침을 확인하십시오 (저는 해당 블로그와 관련이 없으며 빠른 Google 검색을 수행했습니다) : https://serversforhackers.com/c/ http-to-https-nginx로 리디렉션

    이것이 도움이되기를 바랍니다. 더 자세한 설명이 필요한 경우 의견을 제공하십시오.

  • 이전 php - 성공적인 결제 후 사용할 수 있도록 추가 정보를 Cybersource Secure Acceptance로 보낼 수 있습니까?
  • 다음 if statement - Bash의 "if"조건에있는 "cd"는 "if"이후에 현재 디렉토리를 변경하지 않습니다