HTTP 406 허용되지 않음 오류를 수정하는 방법? 클라이언트 및 서버 측 수정

게시 됨: 2024-01-26

목차
HTTP 406 오류란 무엇입니까?
오류 406을 수정하려면 어떻게 해야 하나요?
클라이언트 측 솔루션
서버측 솔루션
406 오류를 방지하는 방법은 무엇입니까?
결론
자주 묻는 질문

HTTP 406 오류란 무엇입니까?

406 오류 코드는 클라이언트의 요청이 서버에서 허용되지 않음을 나타내는 클라이언트 측 오류입니다. 서버가 요청 헤더에 지정된 허용 가능한 값 목록과 일치하는 응답을 생성할 수 없을 때 트리거됩니다.

따라서 이 특정 406 허용되지 않음 오류는 504 게이트웨이 시간 초과와 같은 5xx 서버 오류와도 대조됩니다.

이는 인터넷 서핑 중에 거의 발생하지 않는 가장 흔하지 않은 HTTP 오류 중 하나이지만, 불행하게도 웹사이트에서 이 오류를 보게 된 경우 일반적으로 다음과 같습니다.

406 Not Acceptable Error
406 허용되지 않는 오류

위 이미지에서는 " 요청한 리소스의 적절한 표현을 이 서버에서 찾을 수 없습니다"라는 추가 오류 메시지와 함께 오류 406이 승인되었음을 알 수 있습니다. 이 오류는 Mod_Security에 의해 생성되었습니다.

이는 인간, 특히 기술자가 아닌 사람들에게는 그다지 도움이 되지 않으며 심지어 상당히 비밀스럽고 로봇처럼 들립니다. 따라서 이 오류 메시지가 정확히 무엇을 말하려는지 이해하기 쉽도록 하겠습니다.

클라이언트, 즉 브라우저 또는 장치는 웹페이지를 표시하려고 했지만 다음과 같은 몇 가지 가능한 문제가 발생했다고 말하려고 합니다.

1. 서버가 브라우저에서 지원하지 않는 잘못된 파일을 보냈습니다.

2. 서버가 유효한 보안 요구 사항을 생성할 수 없거나 프로토콜을 따르지 않을 수 있습니다.

HTTP 오류 406 이해

매우 쉬운 언어부터 시작해 보겠습니다. 이 오류 506은 단순히 서버가 클라이언트가 요청한 형식(예: 웹 브라우저)으로 적절한 데이터를 보낼 수 없음을 나타냅니다.

클라이언트, 즉 웹 브라우저에는 "Accept" 헤더를 사용하여 허용할 수 있는 특정 기준이나 형식이 있습니다. 그러나 서버가 이러한 기준을 충족할 수 없는 경우 HTTP 상태 코드 오류 406으로 응답합니다.

이제 가장 어려운 부분이 왔습니다. 이 오류의 정확한 원인을 파악하는 것은 매우 문제가 될 수 있습니다. 문제는 서버와 클라이언트 통신 체인의 어느 곳에서나 발생할 수 있기 때문입니다.
그러나 원인이 무엇이든 이 HTTP 406 오류를 해결하기 위해 시도할 수 있는 몇 가지 방법은 다음과 같습니다.


오류 406을 수정하려면 어떻게 해야 하나요?

다음은 오류 406을 해결하기 위해 따를 수 있는 몇 가지 문제 해결 방법입니다.

클라이언트 측 솔루션

1. 입력한 URL이 맞는지 확인하세요.

그것은 분명하고 매우 기본적인 것처럼 들리지만 우리를 믿으십시오. 이는 오류 406을 수정할 수 있는 가장 간단하면서도 빠른 방법입니다.

실제로 406 오류는 보이는 것보다 더 많을 가능성이 높지만 현재 잘못된 URL을 입력하고 유효하지 않은 경우 "406 허용되지 않음"이라는 오류 메시지가 나타날 수 있습니다.

이 문제를 해결하려면 입력한 URL을 다시 확인하고 모든 내용이 올바른지 확인하기만 하면 됩니다. 와 같은,

  • 철자 오류가 있는지 확인하세요.
  • 유효하지 않은 특수문자가 입력되었는지 확인하세요.
  • 다른 페이지의 URL을 입력하여 한 페이지에서만 발생하는지 확인해보세요.

오류가 지속되면 다른 해결 방법을 확인하세요.

2. 네트워크 및 장치 재설정 및 구성

오류 406은 클라이언트 측 문제이므로 온라인 게임이나 미디어 스트리밍 서비스(예: Netflix 및 음악 스트리밍 플랫폼 Spotify)와 같은 특정 플랫폼에서도 클라이언트의 요청을 충족하지 못해 이 오류가 표시될 수 있습니다.

지금 당장은 서버 측의 문제라고 생각할 수도 있지만, 오히려 클라이언트 측에서 문제가 발생했을 가능성이 더 높습니다. 개인용 컴퓨터, 인터넷 연결 또는 이러한 플랫폼을 시작하는 데 사용한 모든 장치가 될 수 있습니다.

이 오류는 주로 서버의 비호환성 또는 지원되지 않는 헤더로 인해 발생하므로 Netflix, Amazon Prime, Hulu 등 모든 플랫폼에서 이 오류가 발생할 수 있습니다.

또한 각 플랫폼에서 406 오류를 해결하는 모든 단계를 설명할 수는 없습니다. 그러나 각 플랫폼에 대해 이러한 기본 단계를 수행하고 오류가 수정되었는지 확인할 수 있습니다.

  • 라우터 등의 네트워크 장치를 끄거나 전원에서 뽑아 다시 시작 > 잠시 기다리기(약 2분) > 다시 연결하고 장치를 켜세요.
  • 마찬가지로 게임 시스템, 개인용 컴퓨터, OTT 장치 등을 다시 시작할 수도 있습니다.
  • 스트리밍 장치를 WLAN, 모바일 네트워크 등 다른 네트워크에 연결해 보고 오류가 지속되는지 확인하세요.
  • 스트리밍 미디어 앱의 현재 버전을 확인하고 가능한 경우 업데이트하세요.
  • 위의 방법 중 어느 것도 효과가 없다면, 가장 좋은 방법은 각 스트리밍 플랫폼에서 온라인으로 제공되는 포럼과 가이드를 검색하는 것입니다.

3. 최근 WordPress 업데이트 롤백

참고: 웹사이트의 내용을 변경하기 전에 가장 먼저 해야 할 일은 예방 조치로 웹사이트를 전체 백업하는 것입니다. 따라서 문제가 발생하더라도 피해 없이 웹사이트로 돌아갈 수 있습니다.

최근 406 오류 코드가 나타나기 직전에 WordPress를 업데이트했다면 즉시 이전 버전으로 롤백하는 것이 좋습니다.

참고로 "WordPress를 다시 설치하는 방법" 전용 게시물을 확인하실 수 있습니다. 따라야 할 4가지 최선의 방법“.

마찬가지로 최근 업그레이드한 확장 기능이나 모듈도 서버측 문제를 일으킬 수 있으므로 이전 버전으로 되돌리는 것도 도움이 될 수 있습니다.

4. 최근 추가된 확장 프로그램, 플러그인 또는 테마 제거

사용 중인 콘텐츠 관리 시스템에 관계없이 최근에 확장 프로그램, 플러그인 또는 테마를 추가한 경우 나중에 오류 406이 표시됩니다. 문제가 발생했는지 확인하는 것이 좋습니다.

이는 이러한 플러그인이나 테마가 데이터베이스에 액세스할 수 있고 사이트 파일에 추가 코드를 추가하거나 데이터베이스 레코드를 변경하는 등 데이터베이스를 변경할 수 있기 때문입니다. 이러한 작업으로 인해 HTTP 오류 406이 발생할 수 있습니다.

문제가 있는 플러그인이나 테마를 파악하는 가장 좋은 방법은 해당 플러그인이나 테마를 하나씩 비활성화하고 오류 406이 여전히 표시되는지 확인하는 것입니다. 오류가 사라지면 비활성화된 플러그인이나 테마가 원인일 가능성이 높습니다.

Deactivate Plugin
플러그인 비활성화

5. 데이터베이스 레코드 변경 사항을 찾습니다.

위 섹션에서 언급했듯이 특정 플러그인과 테마는 데이터베이스 기록을 수정하거나 변경할 수 있는 권한을 가질 수 있습니다. 결과적으로 WordPress 대시보드에서 해당 항목을 제거하거나 제거한 후에도 데이터베이스에 일부 흔적이 남아 있을 수 있습니다.

이러한 추적은 여전히 ​​오류 406을 유발하는 원인이 될 수 있습니다.

가장 좋은 방법은 Adminer 또는 phpMyAdmin을 사용하여 데이터베이스를 열고 테이블을 확인하는 것입니다.

플러그인이나 테마에 의해 수정될 가능성이 있는 워드프레스 테이블과 기록을 확인하세요.

Checking WordPress Database
데이터베이스 확인 중

정보 : 귀하의 웹사이트가 WPOven 서버에서 호스팅되는 경우 데이터베이스 관리자 도구를 통해 데이터베이스에 쉽게 액세스할 수 있습니다.


서버측 솔루션

WordPress와 같은 CMS를 사용하지 않거나 위의 모든 방법을 시도한 후에도 여전히 HTTP 오류 406이 발생하는 경우. 다음은 서버 측에서 수행할 수 있는 다른 문제 해결 방법입니다.

6. 서버 로그 확인

서버 측에 문제가 있는지 확인하는 가장 좋은 방법 중 하나는 서버 로그를 확인하는 것입니다. 사용하는 CMS, 웹사이트 플랫폼, 웹 애플리케이션에 관계없이 모두 서버측 로그를 사용할 수 있습니다.

이러한 서버 로그에는 웹 애플리케이션을 실행하는 데 사용되는 서버 또는 하드웨어의 상태에 대한 중요한 정보가 포함되어 있습니다.


읽기: WordPress 사이트의 경우 WordPress 오류 로그를 설정하고 사용하는 방법은 무엇입니까?
WPOven 사용자의 경우 다음을 읽어보세요. 액세스 및 오류 로그를 어떻게 볼 수 있나요?


7. 웹 서버 구성을 확인하세요.

406 Not Acceptable ” 오류를 해결할 수 없는 경우 다음 단계는 웹 서버 구성 파일을 확인하는 것입니다. 이 오류는 일반적으로 웹 서버가 사용자가 특정 URL에 액세스하지 못하도록 제한하고 있음을 나타냅니다.

따라서 요청 처리 지침이나 의도하지 않은 리디렉션이 있는지 웹 서버 구성을 검사하거나 확인해야 합니다.

웹 서버 구성을 검사하기 위한 첫 번째 단계는 웹 사이트에서 사용하는 서버 소프트웨어를 확인하는 것입니다. NGINX 또는 Apache일 수 있습니다.

웹사이트에서 Apache를 사용하는 경우 웹사이트 시스템 파일의 루트 디렉터리에서 .htaccess 파일을 찾아보세요. 그러나 웹 사이트에서 NGINX 웹 서버를 사용하는 경우 대신 NGINX.conf 파일을 찾아야 합니다.

또한 "WordPress .htaccess 파일: 생성 및 편집 방법"에 대한 전용 기사를 확인해 볼 수도 있습니다.

.htaccess 파일을 찾으면 텍스트 편집기에서 파일을 열고 406 플래그를 사용하는 지시어를 검색하세요.

예를 들어, 다음은 WPOven.com에 대한 가상 서버를 구성하고 위와 유사한 요청을 보장하는 블록 지시문(즉, 명명된 지시문 세트)입니다.

Accept: application/JSON 요청 헤더를 포함 하지 않는 https://wpoven.com./users/json은 실패하고 406 응답 코드를 만나게 됩니다.

server {
listen 80;
listen 443 ssl;
server_name wpoven.com;
location /users/json {
if ($http_accept != application/json) {
return 406 https://wpoven.com/users/json$request_uri;
}
}
}

이제 nginx.conf 파일을 철저하게 살펴보고 406 플래그가 포함된 의심스럽고 비정상적인 지시문이나 행이 있는지 확인해야 합니다. 발견된 경우 이를 “주석”으로 표시한 다음 서버를 다시 시작하여 오류가 사라지는지 확인하세요.

8. WordPress 디버깅

앞서 언급했듯이 많은 웹 애플리케이션은 오류 로그와 함께 디버깅까지 제공합니다.

디버깅은 애플리케이션 코드에서 작은 버그나 오류를 찾아 제거하는 과정입니다. WordPress 디버깅에 대해 자세히 알아보려면 "WordPress 디버깅: WP_DEBUG를 활성화하는 방법"에 대한 전용 게시물을 확인하세요.

9. 서버 보안 규칙 확인

  • 서버의 보안 규칙은 DDoS 공격 등과 같은 악의적인 활동으로부터 서버와 웹사이트를 보호하는 것을 목표로 합니다.
  • 그러나 때로는 이러한 규칙이 지나치게 엄격하여 합법적인 요청이 차단되고 406 오류 코드가 발생할 수 있습니다.
  • 예를 들어 특정 IP 주소의 요청을 차단하도록 보안 규칙을 구성한 경우 의도치 않게 실제 사용자도 차단할 수 있습니다.
  • 이러한 상황을 방지하려면 서버 보안 규칙을 확인하고 가능하다면 웹사이트의 보호 및 기능을 침해하지 않고 유효한 요청을 허용하도록 약간의 조정을 하는 것이 중요합니다.

406 오류를 방지하는 방법은 무엇입니까?

웹사이트에서 406 오류를 방지하려면 다음과 같은 해야 할 일과 하지 말아야 할 일을 구현해 보세요.

  • 보안 규칙 검토:
    • 서버에 구현된 보안 규칙을 확인하고 검토하세요. 강력하지만 지나치게 엄격하지 않게 구성되었는지 확인하세요.
    • 가능하다면 필요하고 합법적인 요청을 허용하도록 보안 규칙을 사용자 정의하세요.
  • 플러그인 및 테마 업데이트:
    • 플러그인과 테마를 최신 상태로 유지하세요. 개발자는 종종 버그를 해결하고 호환성을 개선하여 406 오류로 이어지는 충돌 가능성을 줄이기 위해 업데이트를 출시합니다.
  • 서버 로그 모니터링:
    • 비정상적인 활동이나 오류 메시지가 있는지 서버 로그를 정기적으로 확인하십시오. 문제가 406 오류로 확대되는 것을 방지하려면 문제를 즉시 해결하세요.
  • 테스트 변경 사항:
    • 새로운 플러그인이나 테마를 추가하는 등 중요한 변경 사항을 구현하기 전에 스테이징 환경에서 테스트하세요. 이를 통해 실제 사이트에 영향을 미치기 전에 잠재적인 충돌을 식별하고 해결할 수 있습니다. 또한 꼭 필요한 경우가 아니면 WordPress 핵심 파일을 수정하거나 변경하지 마세요.
  • 신뢰할 수 있는 플러그인 또는 테마만 설치:
    • 항상 필요한 경우에만 평판이 좋고 신뢰할 수 있는 플러그인, 테마 또는 확장 프로그램을 설치하십시오.
  • 데이터베이스 정리:
    • 때때로 정크 파일과 제거된 플러그인의 흔적을 제거하여 데이터베이스를 정리하거나 최적화하십시오.
  • 주기적으로 디버깅을 구현합니다.
    • 정기적으로 서버를 디버깅하는 것을 루틴으로 만드십시오. 이렇게 하면 귀하의 서버가 방문자에게 건강하고 원활한 웹사이트 경험을 선사할 것입니다.
  • 호스팅 제공업체에 문의하세요.
    • 웹사이트가 호스팅되는 경우 호스팅 제공업체에 문의하여 도움을 받으세요. 서버 측 문제를 식별하거나 406 오류를 방지하기 위해 서버 설정을 최적화하는 데 도움을 줄 수도 있습니다.
  • CDN(콘텐츠 전송 네트워크) 사용:
    • CDN을 구현하면 웹 사이트 콘텐츠를 효율적으로 배포하고 406 오류를 포함한 서버 관련 오류 가능성을 줄이는 데 도움이 될 수 있습니다.
  • 정기 백업:
    • 웹사이트를 정기적으로 백업하세요. 오류가 발생하는 경우 최근 백업을 사용하면 웹사이트를 작동 상태로 신속하게 복원할 수 있습니다.

결론

HTTP 오류와 마찬가지로 406 Not Acceptable 오류를 수정할 수 있습니다. 그러나 취해야 할 초기 단계는 이를 유발한 근본 원인을 파악하는 것입니다.

일반적인 HTTP 오류 코드가 아니기 때문에 제대로 구성되지 않은 경우 가끔 발생할 수 있습니다.

이 406 오류와 관련하여 제안 사항이나 질문이 있는 경우 아래 의견란에 알려주시기 바랍니다.


자주 묻는 질문

오류 406을 수정하려면 어떻게 해야 하나요?

다음 문제 해결 방법을 따르면 오류 406을 쉽게 수정할 수 있습니다.
1. 입력한 URL이 맞는지 확인하세요.
2. 네트워크 및 장치 재설정 및 구성
3. 최근 WordPress 업데이트 롤백
4. 최근 추가된 확장 프로그램, 플러그인 또는 테마 제거
5. 데이터베이스 레코드 변경 사항을 찾습니다.
6. 서버 로그 확인
7. 웹 서버 구성을 확인하세요.
8. WordPress 디버깅
9. 서버 보안 규칙 확인

406의 의미는 무엇입니까?

오류 406 코드는 클라이언트의 요청이 서버에서 허용되지 않음을 의미합니다. 서버가 요청 헤더에 지정된 허용 가능한 값 목록과 일치하는 응답을 생성할 수 없을 때 트리거됩니다.

HTTP 404와 406의 차이점은 무엇입니까?

HTTP 404 찾을 수 없음 웹 페이지 누락이나 잘못된 URL로 인해 서버가 요청한 리소스를 찾을 수 없음을 나타냅니다. 반면, HTTP 406 Not Acceptable은 서버가 콘텐츠 유형이나 언어 등 요청 헤더에 지정된 기준과 일치하는 응답을 생성할 수 없음을 나타냅니다. 서버가 클라이언트의 지정된 요구 사항을 충족할 수 없을 때 발생합니다.