0

アプリ用にpaster serveを実行し、リアルタイム要件用にnodejsを実行する必要がありますが、どちらもhaproxyを介して構成されていますが、ここではhaproxyをsudoとして実行して、ポート80と他のプロセスを通常のユーザーとしてバインドする必要があります。さまざまな方法を試しましたが、役に立ちませんでした。このコマンドを試しました

コマンド = sudo haproxy

これは私たちがこれを行うべき方法ではないと思います。何か案は?

4

1 に答える 1

0

rootとしてsupervisordを実行し、代わりに非特権ユーザーの下でさまざまなサービスを実行するように構成する必要があります。

[program:paster]
# other configuration
user = wwwdaemon

これを機能させるためuserに、セクションでオプションを設定することはできません[supervisord](そうしないと、デーモンはhaproxyサーバーを再起動できません)。したがって、supervisord構成がrootによってのみ書き込み可能であることを確認して、実行中のsupervisordデーモンに新しいプログラムを追加できないようにし、XML-RPCサーバーオプションが十分に保護されていることを確認する必要があります。

[unix_http_server]後者は、適切にロックダウンするように構成したセクション[inet_http_server]を確認する必要があることを意味します。[rpcinterface:x]たとえば、[]セクションのchownandchmodオプションを使用unix_http_serverして、ソケットファイルへのアクセスを特権ユーザーのみに制限します。

または、最小限の構成で軽量のフロントエンドサーバーを実行して、代わりにポート80を非特権ポートにプロキシし、この最小限のサーバーを監視対象のセットアップから除外することもできます。ngnixはこれを行うための優れたサーバーです。たとえば、サーバーのネイティブパッケージシステム(DebianまたはUbuntuのapt-getなど)を介してインストールされます。

于 2012-08-02T14:52:39.453 に答える