400 Bad Request nginx가 발생한 경험을 하셨나요? 신기하네요. 저는 처음 봤는데요. 그것도 방금전까지 아무 문제없이 포스팅을 완료하고 다시 글 목록을 불러 오려고 시도 했더니, 발생을 했네요. 그래서 왜 그런지 알아보았는데요. 혹시 궁금해 하셨을 분들을 위해서 공유해 봅니다.
400 Bad Request
"The plain HTTP reqeust was send to HTTPS port" nginx
위 내용은 해석해 보면요, "일반 HTTP 요청이 HTTPS 포트로 전송되었습니다" 입니다. 이 오류는 일반적으로 HTTP 프로토콜로 전송된 요청이 HTTPS 포트(일반적으로 443번 포트라네요)로 수신될 때 발생한다고 해요.
말이 어렵지만, 제가 이해한 바를 간단히 말해 보면요. 잘못된 포트로 보낸 것이라 합니다. 서로 약속을 하고 평문을 평문으로 암호화된 것은 암호화된 쪽으로 보내야 하는데 이것을 잘못 보낸거 같습니다.
발생 원인:
클라이언트가 잘못 보낸거라고 해요. 우리가 사용하고 있는 브라우저가 클라이언트죠. 그런데, 왜 잘 되다가 안됐다가 바로 또 원활하게 되고 그러는건지 참 궁금해지더라고요.
솔직히 원인이 우리가 해결할 정도의 수준은 아닌듯 하지만요. 왜냐하면 바로 또 정상적으로 접속이 가능해졌습니다. 하지만, 이렇게 작성하는 혹시라도 이와 같은 일이 또 일어났을 경우 이유라도 알고 있으면 마음은 조금 편해질 듯 해서죠.
좀 더 알아보니, 원인이 조금 다양하더라고요.
http/https 프로토콜 혼선 즉 지금까지 에러 메시지처럼 http로 요청 했고 서버가 https로만 응답을 허용하는 경우에도 발생할 수 있다는 것이 있고요.
- 잘못된 요청 형식: 클라이언트와 서버 간에 올바르지 않은 형식 요청을 보낼 때 발생합니다.
- 쿠키 및 캐시 문제: 브라우저에 저장된 쿠키나 캐시 데이터가 손상 혹은 오래되어 서버와의 통신 상의 문제가 생길 수 있습니다.
- 콘텐츠 길이 초과: 티스토리는 한 글 당 콘텐츠 길이가 100kb로 제한이 되어있다고 하네요. 이를 초과하면 400 오류가 발생할 수 있다고 합니다.
그래도 이를 좀 더 적극적으로 해결할 수 있는 방법은 없을까? 라는 생각에 찾아봤습니다.
해결 방법:
1. 서버 설정 확인: Nginx의 경우 서버 블록에서 ssl 지시어가 on으로 설정되어 있으면 이를 off 하거나 주석처리하고 서버를 재시작해야 한다고 해요. (이건 우리가 할 일은 아니겠지만, 서버를 운영하시는 분 입장에서는 알고 계시면 좋을듯 합니다. )
2. 리디렉션 설정: HTTP 요청을 HTTPS로 리디렉션하도록 서버 설정을 조정하라고 하네요. Nginx에서는 error_page 497 지시어를 사용해 HTTP 요청을 HTTPS로 리디렉션 할 수 있다고 합니다. (이 또한 서버 관리하시는 분이 하셔야 할 듯 하죠.)
3. 클라이언트 요청 확인: 클라이언트가 올바른 프로토콜을 사용하여 서버에 요청을 보내도록 유도해야 한다는데요. 이 또한 우리는 브라우저를 사용만 하는 입장이죠.
1, 2, 3 번 모두 제가 할 수 있는 것은 없어 보이더라고요.
추가적으로 브라우저 캐시 및 쿠키를 삭제, 브라우저 확장 프로그램 점검 그리고 다른 브라우저나 기기로시도해보시면 문제 해결하는데 도움이 될 듯 합니다.
마지막으로 다음 고객센터에 문의를 하는 것도 방법일 듯 한데요.
자가 진단
아무래도 제가 크롬 브라우저를 사용시 탭을 많이 열어놓고 사용하는 바람에 발생한 것이 아닌가? 생각이 들더라고요. 기존에 발생하지 않았던 이유는 시점 상의 문제일 수 있다는 생각이 들더라고요. 그래서 티스토리 글을 작성하더라도 최대한 창은 적게 띄워놓고 해야 겠다는 나름의 결론에 이르렀습니다.
만약, 크롬 쿠키 삭제를 하시려 하신다면 단축키로 'Ctrl + Shift + del'(WINDOW), 'command + Shift + backspace'(MAC)를 눌러 주세요. 그럼 인터넷 사용 기록 삭제 창이 뜰거에요.
- 기간: 전체 기간
- "쿠키 및 기타 사이트 데이터, 캐시된 이미지 및 파일" 등 2가지 옵션 선택
위 내용을 설정하시고 하단에 '데이터 삭제'를 누르시면 됩니다.
개인적으로 쿠키 삭제는 맨 마지막에 해보시는걸 권해 드리고 싶습니다.
하지만, 단축키는 알아두시면 아주 편합니다. ~
이 글이 원인과 해결방안을 알아보시는데 도움이 조금이라도 되었으면 좋겠습니다.
감사합니다. ~
한메일 바로가기 (hanmail.net 예전으로 가즈아!)
HP 프린터 드라이버 다운로드 및 설치 방법 <더 보기>