[Error][NGINX] http 접속 시 https로 리다이렉트 안 됨

2022. 10. 25. 16:00·Error

문제 상황

예전에 사이트A에 https를 적용해두고, http로 접속하는 경우 https로 리다이렉트하도록 세팅해뒀다.

문제는 http로 명시한 url로 들어가보니 https로 리다이렉트되는 커녕, 이상한 파일만 다운받아지는 것이다.

상황 분석

  • 웹서버인 NGINX도 이상이 없고, https 프로토콜로 접속하면 아무런 이상이 없다.
  • 다운로드 된 파일의 내용은 해결에 도움되지 않았다.

다운로드 파일 내용

  • 구글링하면서 특정 브라우저에서 http로 접속했을 때 요청 자체를 차단한다는 내용을 발견했지만 딱히 도움되진 않았다. 다른 google, naver 같은 사이트는 http 접속하면 자동으로 https 리다이렉트가 되기 때문이다.

google을 http로 접속했을 때 network log

  • 사이트A에 http로 접속하면 헤더를 확인하면 status code는 200으로 뜨지만 NGINX access 로그를 보면 http로 접근했을 때의 로그가 남겨지지 않는다. 아예 웹서버로 접속이 안 되는 것처럼 보였다.
  • 사이트A에 접속 시도했을 때 프로토콜이 공란이고, 요청이 차단된 것이 확인된다.

사이트A를 http로 접속했을 때 network log
사이트A를 http로 접속했을 때 network timing

문제 해결

결국 NGINX 설정의 문제라는 생각이 들어 확인해봤다.

프로토콜이 아예 표시가 안 되었던 것을 생각하면서 보니, http로 접속할 때에도 http/2 프로토콜을 사용하도록 명시했다는 것을 발견했다.

결국, 아래 문제되는 부분의 http2 명시를 삭제하니 제대로 동작하였다.

server {
        listen 80 default_server http2; # 문제가 되었던 부분
        listen [::]:80 default_server http2; # 문제가 되었던 부분

        server_name_;

        return 301 https://$host$request_uri;
}

server {
        # SSL configuration
        listen [::]:443 ssl http2; # managed by Certbot
        listen 443 ssl http2; # managed by Certbot
        ...

 

애초에 http/1.1이나 http/0.9로 받고 있는 서버 블록이 없어서 나온 문제였다.

728x90
저작자표시 비영리 변경금지 (새창열림)

'Error' 카테고리의 다른 글

[Error] smtp error: could not authenticate  (0) 2022.10.25
[Error][Git] pack-objects died of signal 9  (0) 2022.10.24
[Error][Git] refusing to merge unrelated historiese  (0) 2022.10.24
[Error][PHP] Uncaught Error: Call to undefined function mysqli_connect()  (0) 2022.10.24
[Error] AH00558: httpd: Could not reliably determine...  (0) 2022.10.24
'Error' 카테고리의 다른 글
  • [Error] smtp error: could not authenticate
  • [Error][Git] pack-objects died of signal 9
  • [Error][Git] refusing to merge unrelated historiese
  • [Error][PHP] Uncaught Error: Call to undefined function mysqli_connect()
Wintinue
Wintinue
201 Created!
  • Wintinue
    Win Record
    Wintinue
    • 📘 Post (68)
      • Android (32)
      • Nest.js (1)
      • NGINX (1)
      • Error (10)
      • AWS (1)
      • Git (3)
      • IT용어 (4)
      • CMD (2)
      • Language (5)
        • PHP (3)
        • Java (2)
      • Project (5)
        • 개인 프로젝트 (3)
        • 팀 프로젝트 (2)
  • 링크

    • Github
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.3
Wintinue
[Error][NGINX] http 접속 시 https로 리다이렉트 안 됨
상단으로

티스토리툴바