홈>
웹 사이트 호스팅의 초보자입니다. 내 질문이 너무 어리 석거나이 질문을하기에 적절한 장소가 아닌지 고려해주십시오.
웹 사이트 (하위 도메인에서 호스팅)가 이미 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로 리디렉션
이것이 도움이되기를 바랍니다. 더 자세한 설명이 필요한 경우 의견을 제공하십시오.