仕事でバックオフィスシステムでアップロードしたファイルがフロントサイトで
どのように参照されるかが知りたいがフロントサイトのコードを追うと該当箇所が多く
時間が足りないのでバックオフィスのアップロード方法だけ確認して、この方法で
アップロードしているからフロントサイトでの参照方法は…と推測できるようにする!
バックオフィス、フロントサイトは別々のオンプレミスサーバです
NFSディレクトリをマウント
バックオフィスサーバのNFSディレクトリにファイルをアップロードしているパターン
ファイルアップロード後にファイルにフロントサイトが参照するURL(フロントサイトのドメイン)を発行し
DBにファイル種別(広告バナーなど)とURLを保存していた
フロントサーバでもNFSがマウントされていてDBからファイル種別でURLを取得しHTMLに埋め込めんで表示している
rsyncで転送
アップロードされたファイルをバックオフィスサーバ内に配置しておきrsyncで他のサーバ(多分フロント)に転送しているパターンもあった
転送先はフロントサーバ自身だったら ./img/banner.jpg
のように参照している
ただフロントサイトが転送されたファイル名を分からないといけないため、以下のようなルールがあるはず
転送先のディレクトリは「トップページの広告エリアに表示するバナー画像」のように決まったファイル専用となる
転送する1ディレクトリの中に複数のファイルがあり、ファイルの表示を制御したい場合は転送前にファイル名をキー値にする
例えばキャンペーンのhtmlファイルを転送する場合はDBに登録されているキャンペーンID.htmlにする
フロントサイトではキャンペーン一覧表示時にDBからキャンペーンデータを取得し、IDから各キャンペーンhtmlを表示するリンクを生成する
結論
DBにファイルアクセス用URLが登録されていたらURL参照、登録されていなかったらフロントアプリでディレクトリ決め打ちしてファイルを取得している!!…はず