2016-09-21 26 views
0

Nginxの背後にある小さなFlaskベースのサービスで、HTTP経由でコンテンツを提供しています。私はNginxのやり方を理解していますが、ユーザはログインして、認証用に使用する独自の証明書をロードする必要があります。異なる証明書を使用する複数のクライアントとのNginxによる証明書/クライアント認証

だから、シナリオは次のとおりです。

  • ユーザーは、クライアント認証に使用される証明書を生成するサーバーを持っています。
  • サービスにログインして、サーバーの証明書をアップロードします。
  • ユーザーのサーバーから証明書を取得するシステムは、コンテンツを提供し、証明書を使用して認証するサービス上のエンドポイントに到達できるようになりました。

Nginxのドキュメントには、着信要求の証明書と一致するNginxが見ている単一のキーストアまたはディレクトリを持つことができるというものは見つかりません。私はNginxでこれを 'サーバごとに'設定できることを知っています。

私が現在持っているアイデアは、WebアプリケーションがNginx confファイルを読み込み、新しいサーバーエントリとアップロードされた証明書へのパスを指定したポートを挿入し、HUPシグナルを送信するスクリプトを起動できるようにすることです。 Nginxをリロードします。

コミュニティの誰かがNginxでこれに似たようなことをしているのか、私が提示している奇妙なシナリオのためのよりよい解決策があるのだろうかと思います。

答えて

0

多くの研究とnginx.comのドキュメントの一部を読んだ後、私はこれを複雑にする方法であることがわかりました。

私の設定をsites-availableに変更するのではなく、/etc/nginx/conf.d/から設定ファイルを追加して削除し、Nginxにsudo nginx -s reloadを呼び出してリロードするように指示する必要があります。

私はアプリが必要なコマンドを実行し、www-dataユーザのsudoersファイルにスクリプトを追加するようにスクリプトを呼びます。

関連する問題