対象製品とバージョン
Forguncy 8.x
現象
サーバー管理ポータルで設定した情報の一部は、グローバル設定「GlobalConfig.xml」に保存されます。このグローバル設定が意図せず初期化されてしまい、既定値から変更していた場合に様々な影響を与えます。
Forguncyでは、GlobalConfig.xmlの読み書きを行う複数のプロセスが存在します。それらのプロセスで同時に読み書きが実施されることにより競合が発生し、GlobalConfig.xmlが初期化されることがあります。
(複数のプロセスとは、発行したアプリケーションの各プロセス(ForguncyServerConsole.exe)と ユーザーアカウント管理サービスのプロセス(ForguncyUserServiceConsole.exe)を指します。)
発生する問題の例
ここでは、特に使用度が高いと思われる設定値とその影響についてのみ記載します。
- アップロードの保存フォルダー
(a)[設定]ー[保存フォルダー]ー[ファイルアップロードパス]
(b)[アプリ]ー[高度な設定]ー[ファイルアップロードパス]
画像ファイルや添付ファイルの実体の保存先です。保存先を変更していて既定値に初期化されてしまった場合、この保存先を指定し直しても、既定値のパスに登録済み情報は書き換わりません。これによってファイルが参照できない問題が発生します。
注意:テーブルに格納されているファイル名と実体の保存先初期化により保存先が変わってしまった場合、誤った保存先のデータを削除し、再度正しい保存先にアップロードし直す必要があります。 - アプリの保存フォルダー
(a)[設定]ー[保存フォルダー]ー[アプリケーションの配置パス]
アプリケーションの発行時に配置されるフォルダです。配置先が変わってしまった場合、配置先を指定し直してください。
注意:内部データベースを使用しており、誤った配置先のアプリにのみデータが登録されているような場合、正しい配置先のアプリで再登録する必要があります。 - タイムアウト値
(a)[サポート]ー[同時接続数の管理]ー[有効:ユーザーが最後の操作を行ってから接続が切断するまでの時間]
一定時間操作がない場定に自動的に切断する時間を設定します。既定値は1440分(24時間)です。初期化された場合、ブラウザを起動したまま放置していても1440分間の間は1接続中とカウントされ続け、同時接続できる数に影響が生じます。
リセットされる設定値について
以下に含まれている項目を既定値から変更していた場合、その値は意図せず初期化される場合があります。
Forguncy サーバー管理ポータル上で設定できる項目について
〇[アプリ]
・[全般設定]ー「既定のアプリケーション」の「既定のアプリとして設定」
・[全般設定]ー「ドメイン名」
・[全般設定]ー「アプリケーション発行時の自動バックアップ」
・[高度な設定]ー[ファイルアップロードパス]
・[高度な設定]ー「セキュリティ設定」‐「HTTPリファラの許可リスト」
・[高度な設定]ー「セキュリティ設定」‐「「X-Frame-Options」の設定」
〇[設定]ー[アカウントセキュリティ]
・二要素認証
・二要素認証が「有効」時の「サービス名」
・二要素認証が「有効」時の「信頼済みデバイスとして記憶する期間」
〇[設定]ー[バックアップと復元]
・「自動バックアップ」ー「自動バックアップを使用する」
・「自動バックアップ」ー「実行時間」
・「自動バックアップ」ー「実効間隔(日)」
・「自動バックアップ]ー「保存しておくバックアップファイルの最大数」
・「全般設定」ー「保存先フォルダー」
〇[設定]ー[Windows認証ユーザーの同期]
・「自動同期を有効にする」
・「同期時刻」
・「同期の間隔」
〇[設定]ー[保存フォルダー]
・「ファイルアップロードパス」
・「アプリケーションの配置パス」
・「ログの保存パス」
・「同時接続ログの保存パス」
〇[設定]ー[セキュリティ]
・「全アプリケーションの既定のセキュリティ設定」ー「HTTPリファラの許可リスト」
・「全アプリケーションの既定のセキュリティ設定」ー「「X-Frame-Options」の設定」
・「サーバー管理ポータルのセキュリティ設定」ー「HTTPリファラの許可リスト」
・「サーバー管理ポータルのセキュリティ設定」ー「「X-Frame-Options」の設定」
・「サーバー管理ポータルのセキュリティ設定」ー「サーバー管理ポータルへのアクセスにSSLを使用する」
・「サーバー管理ポータルのドメイン名設定」ー「ドメイン名」
〇[サポート]ー[同時接続数の管理]ー「タイムアウト値の設定」
・「有効:ユーザーが最後の操作を行ってから接続が切断するまでの時間」
・「有効:Webブラウザーを閉じてからログアウトするまでの時間」
Forguncy サーバー管理ポータル以外で設定できる項目について
グローバル設定「GlobalConfig.xml」ファイルでのみ指定できる項目です。
設定項目は、以下の(※1)を参照してください。
(a)ログインしていないユーザーが添付ファイルにアクセスできるかどうか(※1 AllowAnonymousAccessAttachment)
詳細については、セキュリティに関する注意事項の「匿名ユーザーからの添付ファイルへのアクセスの無効化」を参照してください。
(b)ログインしていないユーザーがユーザー情報のプロフィール画像にアクセスできるかどうか(※1 AllowAnonymousAccessUserAvatar)
詳細については、セキュリティに関する注意事項の「匿名ユーザーからのユーザーの画像(アイコン)へのアクセスの無効化」を参照してください。
(c)サーバーサイドコマンドのログの出力情報のレベル(※1 ServerCommandLogLevel)
(d)Set-Cookie HTTPレスポンスヘッダーのSameSite属性(※1 EnableSameSite)
この値は、Chrome80からSamesite=Laxがデフォルト値になるため、iframe埋め込みによるCookie制御ができなくなることの対応項目です。Forguncyの規定値はTrueで、明示的にSamesite=Noneを指定しています。
(e)ユーザーサービスの起動時と1時間毎に行われるActive Directory上のWindowsユーザーの情報の同期をするかどうか(※1 AutoCacheWindowsDomainUsers)
発生頻度について
上記の競合は稀に発生するものですが、アプリケーションの操作等に関係はなく、特別な操作をしていなくともどのようなケースでも発生しうる可能性があります。
例えば、各アプリケーションのプロセスが、グローバル設定ファイルの値を参照したタイミングとまったく同じタイミングにユーザーアカウント管理サービスのプロセスがグローバル設定ファイルに含まれる設定値を変更するようなことがあれば競合が発生します。
具体的な例として:
・サーバー管理ポータルで設定を更新したタイミング。
・バックアップ完了後に、バックアップ時刻を記録しようとグローバル設定ファイルを更新したタイミング。
・Windows認証ユーザーやWindows Active Directory認証プロバイダーの同期の完了後、同期時刻を記録しようとグローバル設定ファイルを更新したタイミング。
回避方法
有効な回避方法はありません。
本問題が発生したら、リセットされた値の再設定が必要になります。
再設定のために、予め「GlobalConfig.xml」ファイルをバックアップしておき、発生後にそのファイルを元に復元してください。バックアップは、サーバー管理ポータルの[設定]ー[バックアップと復元]の「自動バックアップ」を有効に設定することで行うことができます。
なお「GlobalConfig.xml」ファイルは、Forguncy Serverをインストールしたコンピューターの以下の場所に存在します。
- Windows版のForguncy Serverの場合:C:¥Users¥Public¥Documents¥ForguncyServer¥
- Linux版のForguncy Serverの場合:/opt/ForguncySites/ForguncyServer/
本件に関するご質問は、テクニカルサポートサービスまでお問い合わせください。
文書種別
不具合
検索キーワード: fgcbug