設定ファイルジェネレータ
項目ごとの説明を読み、値を回答してserver.yamlを生成・保存します。入力から出力まで、このブラウザ内で完結します。
説明を読み、必要な設定を選ぶ
conf/server.yaml の全設定を7分野に分けて回答します。「値を指定する」を選ぶと入力できます。選ばない項目はYAMLに書かず、サーバの既定値・継承を使います。最後に全項目を検証してYAMLを生成します。
入力内容はこのページのメモリ内だけに保持します。外部への送信やブラウザへの自動保存はありません。ページを閉じる・再読込すると入力は失われます。出力ファイルには入力したパスワードも含まれます。
生成したファイルはKohakuの conf/server.yaml に配置し、プロセスを再起動して反映します。TLSストアの実在・読取権限、パスワードの一致、ポートの使用状況は起動先で確認してください。その他のファイルは 設定リファレンス を参照してください。
時間の設定を読み解く
名前の末尾の Millis はミリ秒です。1000ミリ秒=1秒なので、30000は30秒、60000は1分、300000は5分です。Seconds は秒、Bytes はデータ量を表します。1 MiBは1,048,576バイトです。
readTimeout・keepAlive・requestTimeout・writeTimeoutの違い
例えば、ブラウザから画像をアップロードし、その結果を受け取り、続けて別のページを開く通信を考えます。以下はHTTP/1.1での待ち時間の説明です。
- 受信中のデータ待ち(readTimeout):送信の途中で次のデータが来なくなったとき、1回の読み取りで何秒待てるか。既定は30秒です。
- リクエスト全体の時間枠(requestTimeout):最初のデータが届いてから数える全体の期限。既定は60秒。少量ずつデータが届き続けていても、受信に使える時間枠は延びません。
- 応答の送信待ち(writeTimeout):結果を送り返す際、1回の書き込みが止まったときの期限。既定は30秒です。
- 次の要求を待つ時間(keepAliveTimeout):応答を返した接続を再利用するため、次の要求が来るまで保持する時間。既定は20秒で、期限を過ぎたら接続を閉じます。
例えば受信データが15秒ごとに届けば、1回のデータ待ちは30秒以内に収まっても、全体の時間枠60秒に達するとそれ以降の受信は許されません。アプリの処理時間やログイン状態の有効期限は別の仕組みです。
必要な待ち時間が分からない場合は「値を指定する」を選ばず、まず既定値を使えます。アップロード容量や利用者の回線速度、接続数を確認して調整してください。
エラーの番号・例外・起動失敗の読み方
HTTPステータスは、サーバがリクエストの結果を知らせる応答の番号です。例えば413なら「送った内容が大きすぎて、その要求を受け付けなかった」という意味です。ブラウザに表示される文言はアプリやブラウザによって変わるため、説明では番号に加えて実際の動作も記載しています。
WebSocketの終了理由の番号は、つながっていた通信を閉じる理由を相手に伝えるものです。1009は「メッセージが大きすぎる」、1008は「通信の規則に違反した」を表します。新しい接続を始める際のHTTP応答とは、使われる場面が違います。
例外は、アプリのプログラムへ処理の失敗を知らせる仕組みです。例外名はログやプログラムで原因を調べる手掛かりになります。利用者にどのエラー画面を返すかは、アプリのエラー処理にも左右されます。
起動を中止するは、設定が不正なためサーバを動かし始められないという意味です。該当する設定を修正してから、もう一度起動してください。
生成したserver.yaml
最初から設定し直す場合