421 Misdirected Request 웹사이트 접속이 되지 않을 때 해결

워드프레스에 접속했는데 421 Misdirected Request 라는 문구가 뜨며 접속이 되지 않아 당황스럽습니다. nginx 설정 파일에 문제가 생겨 웹사이트가 접속되지 않을 때가 있습니다. 이런 상황에서 어떻게 해결 방법이 있는지 알아보겠습니다.

에러 상황 예시

SSH로 접속해 아래 명령어를 입력한 후 웹사이트가 접속되지 않거나 nginx가 재시작되지 않는 경우가 있었습니다.

echo -e "proxy_ssl_server_name on;\nproxy_ssl_name \$host;\nproxy_ssl_session_reuse off;" > /etc/nginx/conf.d/fixssl.conf && systemctl restart nginx

입력 직후 아래와 같은 메시지가 출력되며 nginx가 재시작되지 않았습니다.

Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.

문제 원인

위 명령어를 자세히 살펴보면 설정 키워드에 오타가 있었던 것이 원인이었습니다. 실제로는 다음과 같은 잘못된 코드가 입력되어 있었습니다.

proxy_ssl_server_nname on;

정확한 키워드는 proxy_ssl_server_name 이어야 하며, 오타 하나로 인해 전체 nginx가 실패하게 됩니다.

경로 오타도 확인 필요

또 다른 흔한 실수는 파일 경로의 오타입니다. 예를 들어 다음과 같이 입력했을 때:

/etc/nginnx/conf.d/fixssl.conf

‘nginx’를 ‘nginnx’로 잘못 입력하면 설정 파일이 저장되지 않고 오류가 발생합니다.


해결 방법 요약

  • 설정 파일 오타 확인: nano 또는 vi로 열어 직접 확인
  • 경로 정확히 입력: /etc/nginx/ 경로 확인
  • nginx 설정 검사: nginx -t 명령어로 오류 점검
  • 정상 재시작: systemctl restart nginx



최종 정상 명령어

아래 명령어를 그대로 복사해서 사용하시면 됩니다.

echo -e "proxy_ssl_server_name on;\nproxy_ssl_name \$host;\nproxy_ssl_session_reuse off;" > /etc/nginx/conf.d/fixssl.conf && systemctl restart nginx

nginx 설정 검사 명령어

재시작 전에 반드시 아래 명령어로 설정 검사를 해보세요.

nginx -t

아래와 같은 결과가 나와야 정상입니다.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

로그를 통한 오류 추적

문제가 계속된다면 다음 명령어로 nginx의 실행 로그를 확인해보세요.

journalctl -xeu nginx.service

오류의 원인을 직접 확인하고 필요한 부분을 수정할 수 있습니다.

nginx는 단순한 오타나 경로 오류만으로도 전체 웹사이트가 다운될 수 있기 때문에, 설정 전후로 반드시 nginx -t를 통해 구문 검사를 하는 습관을 들이는 것이 좋습니다.

위와 같은 경험을 하셨다면 앞으로는 좀 더 침착하게 대응하실 수 있으실 겁니다. 도움이 되셨다면 다른 분들과도 공유해보세요.