401 – Неавторизованный доступ это в интернете эквивалент таблички «Вход ограничен» у входа в модный ночной клуб. Конечно, это может помочь вам отсеять некоторых нежелательных посетителей. Но также может оттолкнуть законных клиентов, делая вас похожим на сноба.
Что ещё хуже, ошибки 401 часто возникают по причинам, не связанным с посетителем, что делает их особенно раздражающими. Но не беспокойтесь! Вот несколько простых шагов, которые вы можете предпринять как владелец сайта для устранения ошибки 401, прежде чем она начнет влиять на доверие к вашему сайту.
Что такое ошибка 401 Неавторизовано?
Ошибка 401 Unauthorized — это код состояния HTTP, указывающий на то, что клиент не имеет права доступа к запрашиваемому ресурсу.
Что это на самом деле означает: 401 – Неавторизовано является ошибкой аутентификации, что означает, что веб-страница, которую вы пытаетесь посетить, защищена паролем, и у вас нет нужных разрешений для доступа к ней. Это может произойти, когда пользователь вводит неверный пароль или когда существуют ограничения на доступ к веб-странице из географического местоположения пользователя.
Конечно, ошибки 401 также могут быть ложными срабатываниями, что означает, что ошибка может возникнуть, даже если посетитель имеет правильные учетные данные для входа на сайт. Это может произойти даже тогда, когда страница веб-сайта вообще не должна быть защищена паролем. Например, это может быть вызвано нервозным брандмауэром, проблемным плагином или некооперативным расширением, добавленным на ваш сайт.
Вы можете заметить ошибку 401, как одно из этих сообщений, появляющихся в окне вашего браузера:
- Требуется авторизация 401
- 401 Неавторизованный
- Ошибка HTTP 401 – Неавторизованный
- Доступ запрещен
- Ошибка HTTP 401
401 Неавторизованный: Возможные причины кода ошибки HTTP
Ошибки 401 возникают, когда веб-браузер испытывает трудности с аутентификацией учетных данных посетителя на сервере веб-сайта. Вот несколько распространенных причин, по которым это может произойти:
- Ошибка или опечатка в URL-адресе веб-сайта.
- Устаревшие cookies или кэш браузера.
- Ограничения IP-адреса на доступ к сайту.
- Ошибки в конфигурации сервера.
- Несовместимый плагин или тема сайта.
- Неправильные попытки входа пользователя.
Ошибки 401 обычно являются ошибками на стороне клиента, что означает, что их часто можно исправить, очистив cookies в вашем браузере или введя правильный пароль. Однако проблемы на стороне сервера, такие как плагины и брандмауэры, также могут вызывать эти ошибки, что делает очень важным для администраторов сайтов быть в курсе потенциальных конфликтов.
Но все это поверхностные объяснения. Если вы хотите понять, что вызывает ошибку 401, вам необходимо разобраться в том, как работает аутентификация в веб-разработке.
Когда клиент (например, веб-браузер) запрашивает доступ к защищенному ресурсу на веб-сайте, сайт потребует от клиента предоставления каких-либо действительных учетных данных. Эти учетные данные могут быть в виде API ключей, имени пользователя и пароля, цифровых сертификатов или чего-то другого — в зависимости от схемы аутентификации, используемой сайтом.
Затем веб-сайт обрабатывает учетные данные для аутентификации, чтобы проверить их действительность. Это может включать проверку данных на соответствие сохраненной базе данных пользователей и паролей, обращение к внешнему поставщику аутентификации или выполнение какой-либо другой формы проверки.
Если аутентификация прошла успешно, возвращается статус-код 200, и веб-сайт генерирует токен сессии для клиента. Это позволяет идентифицировать аутентифицированного клиента и отслеживать его взаимодействия в пределах сайта. Токен сессии часто сохраняется в куки в браузере клиента или в виде заголовка в любых последующих запросах.
Однако, если аутентификация не удастся, веб-сайт вернет сообщение об ошибке HTTP, такое как код ошибки 401. Сообщение об ошибке 401 обычно включает заголовок WWW-Authenticate, который объясняет, как аутентифицироваться на сервере в браузере пользователя. Этот заголовок может содержать дополнительный контекст о ошибке 401, такой как тип требуемой аутентификации (например, Basic, Digest или OAuth).
Как диагностировать ошибку 401 в качестве пользователя или администратора
Ошибки контроля доступа 401 довольно часто встречаются при входе на сайт с членством или при доступе к защищенной веб-странице. К счастью, в большинстве случаев их также очень легко исправить. Вот несколько вещей, которые вы можете сделать для устранения этой ошибки, как посетитель сайта, так и веб-администратор:
Решения на стороне клиента
Страницы с ошибкой 401 иногда возникают из-за проблем на стороне клиента, таких как учетные данные для входа или даже веб-браузер, используемый для доступа к системе защиты паролей вашего сайта. Эти проблемы можно устранить несколькими простыми шагами со стороны посетителя:
- Проверьте учетные данные пользователя: убедитесь, что вы ввели правильное сочетание имени пользователя и пароля. Тщательно проверьте данные для аутентификации на наличие малейших опечаток. Помните, что имена пользователей и пароли чувствительны к регистру.
- Очистите cookies браузера: Если веб-сайт использует cookies для аутентификации, ошибка может быть связана с недействительными или устаревшими cookies. Обычно cookies имеют дату истечения срока или просто истекают при закрытии браузера. Если у вас возникают проблемы с доступом к веб-сайту, очистите данные просмотров, следуя инструкциям для вашего конкретного веб-браузера, чтобы помочь решить проблему.
Cookies
Cookies — это фрагменты данных, отправляемые на компьютер или мобильное устройство пользователя веб-сервером. Затем они хранятся на устройстве пользователя. Cookies могут использоваться для аутентификации, идентификации пользовательской сессии, персонализации веб-контента или сбора информации об использовании веб-сайта.
Читать далее- Проверьте URL: Убедитесь, что URL-адрес, к которому вы пытаетесь получить доступ, правильный и актуальный. В противном случае сервер DNS может не найти веб-сайт и вместо этого вернуть ошибку 401. Если вы перешли по ссылке с другого сайта, вполне возможно, что ссылка использует неправильный URL.
- Ограничение скорости: Если сервер веб-сайта ограничивает количество запросов с одного IP-адреса, это может привести к ошибке 401 Unauthorized Error. Убедитесь, что вы не превышаете количество разрешенных запросов на вход. Лимит часто указан в форме входа.
Очистка DNS
Что такое DNS?
Протокол системы доменных имен (DNS) хранит записи о том, какие доменные имена соответствуют конкретным IP-адресам. Эта система позволяет вам просматривать веб, вводя обычные URL-адреса вместо IP-адресов.
Читать далееDNS Кэш помогает улучшить скорость загрузки и производительность веб-сайта при просмотре интернета, но иногда он может быть поврежден и вызвать ошибку авторизации при доступе к определенным веб-страницам. Исправить это можно простым очищением (сбросом) вашего DNS сервера, что можно сделать несколькими способами:
Windows: Чтобы очистить ваш Кэш DNS в Windows 10/11, следуйте этим шагам:
- Откройте командную строку, нажав Windows+R и введя “cmd” (без кавычек) в диалоговом окне “Выполнить”.
- Теперь введите команду “ipconfig/flushdns” в командной строке.
- Если вы используете Windows PowerShell, вы можете сделать это, открыв PowerShell и введя “Clear-DnsClientCache” (без кавычек).
- Это приведет к очистке DNS и удалению всех записей из локального кэша DNS.
MacOS: Если вы используете Macbook или iMac, вы можете очистить Кэш DNS с помощью Terminal.
- Откройте Терминал на вашем Mac, используя поиск Spotlight или нажав Command+Space и введя в поисковую строку Терминал.
- В Терминале введите “sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder” (без кавычек).
- Ваш DNS кэш теперь очищен на вашем Apple компьютере.
Google Chrome: Если вы используете Google Chrome, браузер имеет свой собственный DNS кэш, который независим от операционной системы (Windows или Mac). Чтобы очистить DNS кэш Chrome:
- Введите в адресную строку «chrome://net-internals/#dns».
- Теперь нажмите на кнопку «Clear host cache», чтобы очистить ваши DNS записи.
Плагины WordPress
Plugins — основа для сайтов WordPress, но иногда они также могут вызывать ошибки, если настроены неправильно. Это может произойти, когда плагин содержит код, который создает проблемы безопасности сайта или конфликтует с основной функциональностью платформы.
Итак, что может сделать администратор сайта, чтобы устранить эту проблему? Ну, первым шагом будет определение, какой плагин или плагины вызывают проблему. Обычно это можно сделать, отключая каждый плагин по очереди и проверяя, исчезает ли ошибка. Как только плагин, вызывающий проблему, будет определен, вы можете либо обновить его, перенастроить или удалить навсегда. Обычные виновники могут включать:
- CDN сервисы, такие как Cloudflare и KeyCDN.
- Веб-файрволы, такие как Sucuri и Wordfence.
- Плохо сделанные темы WordPress.
Следуйте этим простым шагам, чтобы включить или отключить плагины на вашем сайте WordPress:
- Сначала войдите в вашу панель управления WordPress.
- Кликните на опцию “Plugins” в левом меню.
- Найдите плагин, который вы хотите включить или отключить, и кликните на кнопку “Activate” или “Deactivate” под названием плагина.
- Если вы хотите отключить несколько плагинов одновременно, отметьте галочкой каждый плагин и выберите “Deactivate” из выпадающего меню “Bulk Actions”.
- Если вы хотите включить несколько плагинов одновременно, отметьте галочкой каждый плагин и выберите “Activate” из выпадающего меню “Bulk Actions”.
В некоторых случаях проблему также можно решить, отключив или перенастроив определенные настройки в плагине. Например, если ваш сайт использует плагин кэширования, стоит попробовать очистить кэш и проверить, исчезнет ли ошибка.
Заголовок WWW-Authenticate
В некоторых редких случаях, ошибки 401 могут быть вызваны ошибкой сервера. Вы можете узнать больше об этом, изучив ваш заголовок WWW-Authenticate.
Заголовок WWW-Authenticate является заголовком ответа, отправляемым сервером, который содержит информацию о методах аутентификации, поддерживаемых сайтом. Этот заголовок помогает браузеру пользователя определить, какой протокол аутентификации использовать при запросе данных с сервера.
Заголовок также используется для отправки дополнительной информации о процессе аутентификации. Это может включать в себя домен, защищаемый схемой аутентификации, или алгоритм, используемый сервером.
Чтобы проверить заголовок WWW-Authenticate, откройте Chrome, перейдите по URL, вызывающему ошибку 401, и щёлкните правой кнопкой мыши в любом месте страницы. Из выпадающего меню выберите ‘Inspect’. Это откроет окно инструментов разработчика.
Выберите вкладку «Сеть» в окне инструментов разработчика. Здесь вы увидите все запросы, которые браузер отправляет при загрузке страницы. Если ответ сервера содержит заголовок WWW-Authenticate, он будет виден на этой вкладке.
Изучив заголовок WWW-Authenticate, вы можете лучше понять процесс аутентификации, используемый сервером. Затем проверьте, был ли отправлен ответ и какая схема аутентификации использовалась для его отправки. Это поможет вам сузить круг проблем перед поиском конкретного решения. Вот несколько схем аутентификации, найденных в заголовке WWW-Authenticate, с описанием их работы, для справки:
- Basic: Эта схема использует имя пользователя и пароль, закодированные в формате base64 и разделённые двоеточием. Это считается наименее безопасным методом аутентификации и должно использоваться только по HTTPS.
- Digest: Эта схема использует протокол проверки подлинности ответом на запрос. Сервер отправляет клиенту значение nonce, которое клиент использует для создания ответа на основе имени пользователя, пароля и информации о запросе.
- Bearer: Эта схема используется для аутентификации OAuth 2.0. Клиент получает от сервера токен, который используется для аутентификации последующих запросов.
- Negotiate: Эта схема используется для аутентификации по Kerberos.
- AWS4-HMAC-SHA256: Эта схема аутентификации используется для аутентификации запросов к Amazon Web Services (AWS) с использованием ключа доступа AWS и секретного ключа доступа.
- Token: Эта схема используется для аутентификации с системой на основе токенов.
.htaccess файл
Если вы сталкиваетесь с ошибкой 401 на вашем сайте, одной из возможных причин может быть проблема с вашим .htaccess файлом. Файл .htaccess — это конфигурационный файл, используемый веб-серверами Apache для контроля доступа к директориям и файлам вашего сайта. Вот как проверить ваш .htaccess файл на предмет причин ошибки 401:
- Подключитесь к серверу вашего сайта с помощью FTP-клиента или файлового менеджера.
- Перейдите в каталог, где расположен ваш файл .htaccess. Обычно это корневой каталог вашего сайта.
- Скачайте копию вашего файла .htaccess на ваш компьютер.
- Откройте файл .htaccess в текстовом редакторе (например, в Notepad++) и поищите строки, указывающие на контроль доступа или требования аутентификации. В частности, обратите внимание на следующие параметры: AuthUserFile, AuthName, AuthType и Require.
- Убедитесь, что указанные в файле .htaccess контроли доступа или требования к аутентификации соответствуют настройкам, которые вы намерены использовать для вашего сайта. Например, если вы недавно обновили механизм аутентификации вашего сайта (AuthType), возможно, вам потребуется обновить соответствующие настройки в файле .htaccess.
- Сохраните изменения в файле .htaccess и загрузите его обратно на сервер вашего сайта.
- Протестируйте ваш сайт, чтобы убедиться, что ошибка 401 устранена.
Если у вас всё ещё возникают проблемы, пора обратиться к эксперту
Коды ответов HTTP предоставляют мало контекста сами по себе, что делает их трудно понимаемыми без соответствующей технической поддержки. Это одна из причин, по которой DreamHost предлагает круглосуточную поддержку для помощи в устранении неполадок с работой вашего сайта и домена.
Если у вас возникли проблемы с диагностикой или устранением ошибки 401 на вашем сайте, вы можете обратиться за поддержкой к вашему провайдеру хостинга. Также возможно нанять технического специалиста, такого как веб-разработчик, для помощи с этой проблемой.
Ошибки 401 могут быть неприятными для конечного пользователя, но часто их легко исправить. Если с вами связывается кто-то, кто не может получить доступ к вашему сайту из-за этой ошибки, сначала проведите его через общие решения на стороне клиента, прежде чем рассматривать возможные проблемы на сервере, такие как плагины WordPress или заголовок WWW-Authenticate. Если проблема все еще не решена, вы всегда можете привлечь техническую помощь для диагностики проблемы.