未病データベースとWEKOの構成
未病データベースとWEKOの構成を記述する。
用語説明
本書では以下の用語で統一する。
| 用語 | 説明 |
|---|---|
| フロント | 未病データベースのフロントエンド |
| WEKO | 未病データベース用のWEKO3リポジトリ(バックエンド) |
フロントのパス一覧
以下はNuxtアプリケーションで動作する画面のパスであり、 各ページの動作は weko-frontend/pages ディレクトリ内のファイルで定義されている。
| パス | 説明 |
|---|---|
| / | トップ画面 |
| /ams/search | 検索画面 |
| /ams/contact | お問い合わせ画面 |
| /ams/detail | アイテム詳細画面 |
| /ams/files | ファイル一覧画面 |
| /ams/login | ログイン画面 |
| /ams/logout | ログアウト画面 |
以下はNuxtアプリケーションのサーバーサイドで動作するAPIのパスであり、 各APIの動作は weko-frontend/server ディレクトリ内のファイルで定義されている。
| APIパス | メソッド | 説明 |
|---|---|---|
| /api/ams/captcha/<アイテムのID>/request-mail | POST | WEKOのリクエストメール送信APIにリクエストを送信するAPI |
| /api/ams/captcha/image | GET | WEKOのCAPTCHA画像取得APIにリクエストを送信するAPI |
| /api/ams/captcha/validate | POST | WEKOのCAPTCHA結果検証APIにリクエストを送信するAPI |
| /api/ams/mail/send | POST | メール送信API |
| /api/ams/token/create | GET | WEKOからアクセストークンを初回取得するためのAPI |
| /api/ams/token/refresh | GET | WEKOからアクセストークンを再度取得するためのAPI |
フロントとWEKOの共存
フロントとWEKOを同一オリジンで動作させる。
フロントとWEKOの画面の両方を表示、またはフロントの画面のみを表示可能とする。
フロントとWEKOの両方の画面を表示
nginxの設定により、リクエストされたパスに応じてアクセス先のアプリケーションを振り分ける。
これにより、フロントとWEKOの両方の画面を表示できる。
WEKO単体で動作している場合と比較し、アクセスできない画面はWEKOのトップ画面のみとなる。
nginxコンテナの/etc/nginx/conf.d/weko.confにweko/nginx/weko-ams.confの内容を設定した場合、この動作となる。
| パス | アクセス先アプリケーション | 説明 |
|---|---|---|
| / | フロント | フロントのトップ画面 |
| /ams/* | フロント | フロントの各画面 /amsおよび/ams/にアクセスした場合は/にリダイレクトする |
| /api/ams/* | フロント | フロントのサーバーサイドで動作するAPI |
| /img/ams/* | フロント | フロントで使用する画像 |
| 上記以外 | WEKO | WEKOの画面、APIなど |
フロントの画面のみを表示
nginxの設定を変更することで、WEKOへのアクセスを制限する。
フロントの動作に必要なものを除き、WEKOの画面やAPIへのアクセスを制限し、フロントの画面のみにアクセスできるようにする。
nginxコンテナの/etc/nginx/conf.d/weko.confにweko/nginx/weko-ams-restricted.confの内容を設定した場合、この動作となる。
更新履歴
| 日付 | GitHubコミットID | 更新内容 |
|---|---|---|
| 2025/08/29 | 6ee63da44c8f2e23ac73d6218ee09f23ba5edcb3 | 初版作成 |