JSS上のSXAのデプロイでレイアウト サービスの構成をsxa-jssに変更すると、ページ レンダリング中に以下のエラーが発生する場合があります:
Server Error in '/' Application. Could not find configuration node: databases/database[@id='master'] Description: An unhandled exception occurred. Exception Details: System.InvalidOperationException: Could not find configuration node: databases/database[@id='master']
この問題は、サイトのデータベースがWebに設定されていることによって、ヘッドレス アプリケーションがContentDeliveryロールで動作するSitecoreサーバーへの接続の確立に失敗した場合に発生します。これによりMasterデータベースへのアクセスができなくなり、Next.jsアプリケーションがSitecoreへの接続に失敗します。
この問題を解決するには、ソリューションをSitecore XP 10.4.0またはそれ以降にアップグレードします。
または代替案として、設定パッチファイルを作成して、CDサーバーの<databaseName>タグに以下の値を設定して事象の影響を緩和することができます:
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
<sitecore>
<layoutService>
<configurations>
<config name="sxa-jss">
<requestContext type="Sitecore.LayoutService.Configuration.DefaultRequestContext, Sitecore.LayoutService">
<databaseName>web</databaseName>
</requestContext>
</config>
</configurations>
</layoutService>
</sitecore>
</configuration>