1. ホーム
  2. curl

[解決済み] CentOS で非 root ユーザーの SSL 接続で cURL が動作しない(エラー#77)。

2022-02-16 11:43:22

質問

つい最近、私のウェブサーバの https:// アドレスへの curl リクエストが動作しなくなりました。 少し調べてみたところ、どうやらウェブサーバーが実行しているユーザーの問題であるようです。

サーバーにrootでSSH接続し、amp;callすると

curl -I -v https://google.com

... 次のような応答が返ってきました...

* About to connect() to google.com port 443 (#0)
*   Trying 173.194.67.113... connected
* Connected to google.com (173.194.67.113) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using SSL_RSA_WITH_RC4_128_SHA
* Server certificate:
*       subject: CN=*.google.com,O=Google Inc,L=Mountain View,ST=California,C=US
*       start date: May 22 15:50:20 2013 GMT
*       expire date: Oct 31 23:59:59 2013 GMT
*       common name: *.google.com
*       issuer: CN=Google Internet Authority,O=Google Inc,C=US
> HEAD / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: google.com
> Accept: */*

しかし、cPanelアカウント(ウェブサーバー経由で実行する場合にも使用)でログインすると、次のようになります。

* About to connect() to google.com port 443 (#0)
*   Trying 173.194.67.101... connected
* Connected to google.com (173.194.67.101) port 443 (#0)
* Initializing NSS with certpath: none
* NSS error -5978
* Closing connection #0
* Problem with the SSL CA cert (path? access rights?)
curl: (77) Problem with the SSL CA cert (path? access rights?)

この問題に対する明確な答えは見つかっていません。ホスティング会社は、先週までうまくいっていたのに、quot;Out of support"であるとして支援を拒否しています。

で言及されているのを発見しました。 http://curl.haxx.se/docs/sslcerts.html その

libcurlがNSSサポート付きでビルドされている場合、OSのディストリビューションに依存します。 システムワイドなCAを使用するためには、おそらくいくつかの追加手順が必要です。 証明書データベースです。RedHat には libnsspem.so という追加モジュールが同梱されており、このモジュールによって NSS は OpenSSL PEM CA バンドルを読み込むことができます。このライブラリはOpenSuSEでは欠落しており これがないと、NSSは独自の内部フォーマットでしか動作しない。また、NSS は新しい データベース形式です。 https://wiki.mozilla.org/NSS_Shared_DB "です。

...しかし、私のCentOSサーバーでこれをシステム全体で動作させる方法についての情報は見つかりませんでした。

情報

curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 

なぜ突然このような現象が起きたのか、また、どうすればこの現象を解決できるのか、どなたか教えていただけませんか?

ありがとうございます。

解決方法は?

問題は、スクリプトがcPanelの "email piped to script" から実行されていて、ユーザーとして実行されていたため、ユーザーの問題であり、Webサーバーには全く影響を与えていなかったことが判明しました。

etc/pkiディレクトリにアクセスできない原因は、そのユーザーがjailed sshアクセスしか持っていなかったためです。 フルアクセスを許可したら、すべてうまくいきました。

でもレミさん、情報ありがとうございました。