Authentication

遷移 Drupal 後伺服器拒絕 check_authentication

  • April 23, 2015

我剛剛將一個 drupal 網站從一台伺服器移動到另一台伺服器。在原始伺服器上,站點直接在 apache 中設置。在新伺服器上,我在兩者之間有一個 docker 層:

該機器執行帶有 docker 的 debian 系統,並且(目前僅)docker 容器具有 debian/apache2/mysql/php 設置。容器的 80 和 443 埠對外暴露,遷移後的網站執行正常。除了一個例外:

遷移的 drupal 網站包含一個 openid_provider 模組。我用它來登錄其他網站。但是,由於遷移,此功能已損壞:在我嘗試使用 openid 登錄的大多數站點(其他 drupal 站點、wordpress、mediawiki)上,登錄失敗。這些站點以“OpenID 驗證失敗:伺服器拒絕 check_authentication”的形式發出消息。

有趣的事實:openid 登錄仍然適用於 stackexchange 網站;)

有誰知道發生了什麼?apache 日誌中沒有(相關的)錯誤或警告——open_id 提供、遷移的站點和客戶端日誌中都沒有。

我不知道在哪里以及如何開始調試。如果您需要更多詳細資訊,請告訴我。

這是我使用的drupal模組:https ://www.drupal.org/project/openid_provider (我知道,它已被棄用)。

任何幫助,將不勝感激。

原來是一個名稱解析相關的問題:

身份驗證請求失敗的所有站點都位於同一台伺服器上。該伺服器在 /etc/hosts 中有一個條目,它將 OpenID 提供者網站的域名解析為其IP。刪除該條目後,一切正常。

這也解釋了為什麼它適用於其他一些服務(託管在其他伺服器上)。

有趣的事實:我花了 3 天時間調試 Drupal OpenId 模組,只是監督顯而易見的。

引用自:https://serverfault.com/questions/684366