ポート80で静的コンテンツと動的コンテンツの両方を提供するJavaサーブレットコンテナを実行する場合、サーバーを次のように実行するかどうかという古典的な質問があります。
- 可能であれば、chroot刑務所のルートとして(これはまだ機能していません)
- root以外のユーザーとして、IPTablesを使用して、ポート80をコンテナーが実行されている他のポート(> 1024)に転送します。
- 両方:非rootユーザー、IPTables、およびchrootjailとして。
optの問題。1は、chrootingの複雑さであり、rootを実行する際のセキュリティの問題です。optの問題。2つは、LinuxディストリビューションごとにIPTablesを永続化する方法が異なることです。もちろん、オプション3はおそらくアイデアですが、セットアップが非常に困難です。
最後に、すべてのディストリビューションには、デーモンスクリプトに厄介な違いがあります。
人々はディストリビューションにとらわれない最良の解決策として何を見つけますか、そしてこれを行う方法を示すためのリソースはありますか?
編集:サイトはほとんど動的であり、総メモリフットプリントが重要であるため(ホスティングコスト)、サーブレットコンテナの前でApacheを実行したくありません。