web-dev-qa-db-ja.com

NGINX SSL:エラー:0200100D:システムライブラリ:fopen:Permission denied

私は何年もの間これにこだわっていて、誰かがいくつかのアドバイスを提供できることを望んでいます。

サイトに新しいSSL証明書をインストールしようとしています。実行中nginx -t次のエラーが発生します。

nginx: [emerg] BIO_new_file("/etc/nginx/ssl/mysite_com/mysite_com.crt") failed (SSL: error:0200100D:system library:fopen:Permission denied:fopen('/etc/nginx/ssl/mysite_com/mysite_com.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib)
nginx: configuration file /etc/nginx/nginx.conf test failed

これで、mysite_com.crtの所有者/グループを、nginxテストに合格した以前の構成にあったファイルと同じに設定しました。権限も同じに設定しました。テストのためにファイルのアクセス許可を一時的に777に設定しても、同じエラーが発生しました。また、777を使用してパーティションのルートに/ ssl /ディレクトリを作成しようとしましたが、それでも同じエラーが発生しました。所有者をhttpに設定しました。これは、このマシンのWebサーバーユーザーであり、何もありません。

私は完全に困惑しています。助言がありますか?

3
Craig

提案は1つしかありません。ファイル/etc/nginx/ssl/mysite_com/mysite_com.crtにアクセスするための十分な権限がありません。アカウントでnginx -tを起動すると、nginxはあなたの権限で起動したため、このファイルにアクセスできませんでした。何も変更せずにこの問題を修正する方法は2つあります。 1つ目は、ルートアカウントでnginx -tを実行するか、Sudoを使用して構成をテストします。2つ目は、httpアカウントでnginx -tを実行して、実際の環境でnginxがどのように起動するかを確認します。ただし、変更を加えたい場合は、ユーザーをグループhttpに追加してnginx -tを実行してみてください。

2