アプリ用にpaster serveを実行し、リアルタイム要件用にnodejsを実行する必要がありますが、どちらもhaproxyを介して構成されていますが、ここではhaproxyをsudoとして実行して、ポート80と他のプロセスを通常のユーザーとしてバインドする必要があります。さまざまな方法を試しましたが、役に立ちませんでした。このコマンドを試しました
コマンド = sudo haproxy
これは私たちがこれを行うべき方法ではないと思います。何か案は?
アプリ用にpaster serveを実行し、リアルタイム要件用にnodejsを実行する必要がありますが、どちらもhaproxyを介して構成されていますが、ここではhaproxyをsudoとして実行して、ポート80と他のプロセスを通常のユーザーとしてバインドする必要があります。さまざまな方法を試しましたが、役に立ちませんでした。このコマンドを試しました
コマンド = sudo haproxy
これは私たちがこれを行うべき方法ではないと思います。何か案は?
rootとしてsupervisordを実行し、代わりに非特権ユーザーの下でさまざまなサービスを実行するように構成する必要があります。
[program:paster]
# other configuration
user = wwwdaemon
これを機能させるためuser
に、セクションでオプションを設定することはできません[supervisord]
(そうしないと、デーモンはhaproxyサーバーを再起動できません)。したがって、supervisord構成がrootによってのみ書き込み可能であることを確認して、実行中のsupervisordデーモンに新しいプログラムを追加できないようにし、XML-RPCサーバーオプションが十分に保護されていることを確認する必要があります。
[unix_http_server]
後者は、適切にロックダウンするように構成したセクション[inet_http_server]
を確認する必要があることを意味します。[rpcinterface:x]
たとえば、[]セクションのchown
andchmod
オプションを使用unix_http_server
して、ソケットファイルへのアクセスを特権ユーザーのみに制限します。
または、最小限の構成で軽量のフロントエンドサーバーを実行して、代わりにポート80を非特権ポートにプロキシし、この最小限のサーバーを監視対象のセットアップから除外することもできます。ngnix
はこれを行うための優れたサーバーです。たとえば、サーバーのネイティブパッケージシステム(DebianまたはUbuntuのapt-getなど)を介してインストールされます。