Назад | Перейти на главную страницу

Сервер отклонил check_authentication после миграции Drupal

Я только что переместил сайт на drupal с одного сервера на другой. На исходном сервере сайт был настроен прямо в apache. На новом сервере у меня есть промежуточный слой докеров:

На машине работает система debian с докером, а контейнер докеров (единственный в настоящее время) имеет установку debian / apache2 / mysql / php. Порты 80 и 443 контейнера открыты извне, и перенесенный веб-сайт работает нормально. За одним исключением:

Перенесенный веб-сайт drupal содержит модуль openid_provider. Я использовал это для входа на другие сайты. Однако после миграции эта функция перестала работать: на большинстве сайтов я пытаюсь войти в систему с помощью openid (другие сайты drupal, wordpress, mediawiki), но вход не выполняется. Эти сайты создают сообщения в форме «Ошибка проверки OpenID: сервер отклонил проверку_аутентификации».

Интересный факт: вход в систему openid все еще работает на сайтах stackexchange;)

Кто-нибудь знает, что происходит? В журналах apache нет (связанных) ошибок или предупреждений - ни на предоставленном open_id, на перенесенном сайте, ни в журналах клиента.

Не знаю, где и как начать отладку. Дайте мне знать, если вам понадобятся подробности.

Вот модуль drupal, который я использую: https://www.drupal.org/project/openid_provider (Я знаю, это устарело).

Любая помощь будет оценена.

Оказывается, проблема связана с разрешением имен:

Все сайты, для которых не удалось выполнить запрос аутентификации, находятся на одном сервере. У этого сервера была запись в / etc / hosts, которая разрешала доменное имя веб-сайта провайдера OpenID в его старый ip. После удаления этой записи все работает нормально.

Это также объясняет, почему он работает для некоторых других сервисов (которые размещены на других серверах).

Интересный факт: я потратил 3 дня на отладку модуля Drupal OpenId, просто наблюдая за очевидным.