私はnginxで安全な接続(https)を設定しようとしています。
しかし、私は秘密鍵の許可について少し心配しています。これはどのチュートリアルでも言及されていません。
それらを変更する必要がありますか?何に?
私はnginxで安全な接続(https)を設定しようとしています。
しかし、私は秘密鍵の許可について少し心配しています。これはどのチュートリアルでも言及されていません。
それらを変更する必要がありますか?何に?
回答:
私はnginxのセットアップに問題があり、この質問に出会いました。ここでの他の回答はすでに質問に直接回答していますが、もう少し情報が役立つと思いました。
通常、nginxはroot
init scripts / systemdによってユーザーとして起動されます。ただし、nginxには、通常の操作で特権の低いユーザーに切り替える機能もあります。だから私の質問は、SSL証明書/鍵をロードするためにどのユーザーが使用されたのですか?最初の特権ユーザーまたは切り替えられたユーザー?
幸いなことに、nginxはユーザーを切り替える前に、初期アクセス許可を使用して証明書とキーをメモリに読み込みます。そのため、通常は、nginxがまだ実行されているときにnginxによってロードされるため、非常に制限されたアクセス許可でキーを残すことができますroot
。
私がここに着陸した問題ssl_certificate
は、私のserver
ブロックでのみ定義していたことnginx.conf
です。[error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking
鍵が正しい場所にあることをよく知っていたときのように、エラーが発生していました。その問題は、私がssl_certificate
のhttp
レベルではなかったということでしたnginx.conf
。
これが誰かに役立つことを願っています。
nginx
グループ内のユーザーが証明書または秘密キーを読み取り可能にする必要はありません。Webサーバーは、root
(あるべきように)でのみ読み取り可能であっても、それらを使用できます。