HTTP (표준 포트) 에서 HTTPS(표준 포트) 리다이렉션
참조 : https://ma.ttias.be/force-redirect-http-https-custom-port-nginx/
HTTP (비표준 포트) 에서 HTTPS(비표준 포트) 리다이렉션
Nginx의 사용자 지정 포트에서 HTTP에서 HTTP로 강제 리디렉션
비표준 포트로 SSL 사용시 Nginx 가상 호스트를 실행하는 경우 HTTP가없는 사이트를 탐색하면 다음 Nginx 오류가 발생합니다.
예를 들어 비표준 포트 (SSL을 사용하는 1234)에서 실행되는 이와 같은 가상 호스트는 해당 오류를 발생시킵니다.
고전적인 방법의 HTTP를 HTTP로 리디렉션
HTTP를 HTTPS로 리다이렉션하는 고전적인 방법은 하나의 가상 호스트가 포트 80에서 수신하고 하나의 443에서 수신되도록하고 포트 80이 모든 트래픽을 HTTPS 으로 리디렉션하도록하는 것입니다.
그러나 사용자 지정 포트에서 HTTP / SSL을 실행하는 경우에는 "안전하지 않은"포트가 없으므로이 트릭을 사용할 수 없습니다. 리디렉션 요청을 수신 할 수있는 포트가 없습니다.
비표준 포트에서 HTTPs 리디렉션 강제 수행
Nginx는 사용자 지정 HTTP 상태 코드 를 작성하여 497 이라는 HTTP 버전을 사용하여 HTTP를 통해 가상 호스트를 탐색하는 모든 사용자를 강제로 리디렉션 할 수있게합니다 .
이는 사용자 정의 포트에서 SSL을 실행하는 경우에만 필요합니다. 그렇지 않으면 위에 표시된 구성을 리디렉션에 사용할 수 있기 때문입니다.
브라우저에서 HTTP에서 HTTPs 포트로 리디렉션하도록하려면 다음을 수행하십시오.
이제 HTTP 프로토콜을 통해 사이트에 도달하는 모든 사용자는 HTTPs 버전으로 리디렉션됩니다.