1

静的 (マーケティング) サイトと動的アプリの両方で構成される Web アプリを展開しています。

私の目標は次のとおりです。

  1. 動的コンテンツと静的コンテンツを分離します。静的サイトの更新にコードの再デプロイは必要ありません。アプリを更新しても、静的サイトには影響しません。
  2. www.mysite.com など、すべてが同じ URL にあるように見せる

Twitter のしくみを考えてみましょう。http: //twitter.com/privacyは法務/マーケティングによって制御される静的ページに移動し、http : //twitter.com/はフィードに移動します。

いくつかのオプションが表示されます。いくつかの助けが必要です。

  1. アプライアンス: NetScaler / F5 のような URL に基づくルート。あまりにも高価で、クラウド展開 (Heroku/Jitsu/AWS/etc) ではうまく機能しません。
  2. Proxy : 別の URL (例: web.mysite.com) にデプロイされた静的サイト。動的サイトは特別なパスを認識し、データを取得してキャッシュします。機能しますが、複雑で面倒です。
  3. CORS : すべての静的は静的サイト www.mysite.com から提供されますが、代替の api.mydata.com からアプリケーション テンプレート、JS、CSS などを読み込み、CORS を使用して REST 経由で動的データを読み込みます。

3 は良さそうに聞こえますが、CORS ブラウザーのサポートが心配で、静的サイトと動的サイトで汚染が発生します。

FWIW は、nodejs で動的に実装していますが、RoR や JavaEE にも同じように簡単に適用できます。

4

1 に答える 1

1

静的コンテンツを特定のサブディレクトリ (twitter の /privacy など) に配置してもかまわない場合は、そのディレクトリを .gitignore (または他の VCS 無視ファイル) に追加し、アプリを展開するだけでよいと思います。そのサブディレクトリ。変更を静的コンテンツにアップロードするには、別のプロセスが必要になります。

それを提供することに関しては、フロントエンドWebサーバー(おそらくapacheまたはningx)または他のプロキシサーバーが、アプリの動的部分からの画像やjs / cssを含むすべての静的コンテンツを提供する必要があります。とにかく静的サイトが .html などの場合、実行中のアプリケーションにまったく触れずに、同じように提供されるはずです。また、アプリケーションにリクエストを転送せずに、そのサブディレクトリ内のすべてを提供する必要があることを、Web またはプロキシ サーバーの構成でより明確にすることもできます。

于 2013-09-16T15:49:27.487 に答える