私はcentos 7.2を使用しています。 Nginx-CTをインストールします。 OpenSSL 1.0.2が必要です。現在のバージョンは次のとおりです。
[root@i001 ~]# rpm -qa|grep openssl
openssl-libs-1.0.1e-51.el7_2.4.x86_64
openssl-devel-1.0.1e-51.el7_2.4.x86_64
openssl-1.0.1e-51.el7_2.4.x86_64
FedoraリポジトリからSRPMパッケージをダウンロードしようとしています。
openssl-1.0.2d-2.fc23.src.rpm
再構築して設置しましたが、問題がありました。
[root@i001 ~]# yum update openssl
Loaded plugins: axelget, langpacks
No metadata available for base
No metadata available for dockerrepo
No metadata available for elrepo
No metadata available for epel
No metadata available for extras
No metadata available for local
No metadata available for mariadb
No metadata available for nginx
No metadata available for remi-php70
No metadata available for remi-php70-test
No metadata available for remi-safe
No metadata available for salt-2015.8
No metadata available for updates
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 1:1.0.1e-51.el7_2.4 will be updated
---> Package openssl.x86_64 1:1.0.2d-2.el7.centos will be an update
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2d-2.el7.centos for package: 1:openssl-1.0.2d-2.el7.centos.x86_64
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 1:openssl-1.0.2d-2.el7.centos.x86_64
--> Running transaction check
---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 will be updated
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-51.el7_2.4 for package: 1:openssl-devel-1.0.1e-51.el7_2.4.x86_64
---> Package openssl-libs.x86_64 1:1.0.2d-2.el7.centos will be an update
--> Processing Dependency: crypto-policies for package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64
--> Running transaction check
---> Package openssl-devel.x86_64 1:1.0.1e-51.el7_2.4 will be updated
---> Package openssl-devel.x86_64 1:1.0.2d-2.el7.centos will be an update
---> Package openssl-libs.x86_64 1:1.0.2d-2.el7.centos will be an update
--> Processing Dependency: crypto-policies for package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64
--> Finished Dependency Resolution
Error: Package: 1:openssl-libs-1.0.2d-2.el7.centos.x86_64 (local)
Requires: crypto-policies
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
どうすればいいですか?
答え1
最初、こう言ってみようガレスレッドそしてブラッツリーCentOSはインストールしたいOpenSSLパッケージをサポートしていないので正確です。推奨しない。これにより、システムに問題が発生する可能性があります。
必ずインストールする必要がある場合…私が理解したのは、あなたがインストールしようとしていることです。nginx-ctSSL_CTX_add_server_custom_ext
、およびが必要なため、OpenSSL 1.0.2以降が必要ですSSL_CTX_set_signed_cert_timestamp_list
。
Yumを使う
システムでサポートされていない他のリポジトリのパッケージを使用することは、悪い考え、他の人が指摘したように。 yum出力を見ると、次のように文句を言います。暗号化ポリシーパッケージ(openssl-libs-1.0.2d-2に必要です)まず、crypto-policiesパッケージ(Fedora 23リポジトリでも利用可能)をインストールしてみます。
ソースコードからコンパイル
〜のようにブラッツリーで指摘するこのコメント、あなたは試すことができます特定のバージョンのOpenSSLを使用してソースからnginxをコンパイルする。チュートリアルで更新された起動コマンドは次のとおりです。
# Install dependencies
sudo yum install unzip gcc pcre-devel zlib-devel make golang
# Grab needed files, correct as of 2016-04-08
wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz
wget http://nginx.org/download/nginx-1.9.14.tar.gz
wget -O nginx-ct.zip https://github.com/grahamedgecombe/nginx-ct/archive/master.zip
tar zxf openssl-1.0.2g.tar.gz
tar zxf nginx-1.9.14.tar.gz
unzip nginx-ct.zip
# Build nginx with openssl 1.0.2 and CT module
cd nginx-1.9.14/
./configure --with-http_ssl_module \
--with-openssl=`realpath ../openssl-1.0.2g` \
--add-module=`realpath ../nginx-ct-master`
make # NOTE: when I tried building with -jN for speedup I encountered linker issues
sudo make install
cd ..
チュートリアルの残りのコマンドはそのまま動作します。
最後の選択
あるいは、BoringSSLを試してみることもできます。nginx-ctのサポート、ソースからビルドする必要があるようですが。
答え2
代わりに、Dockerコンテナ内にこれらのツールをインストールすることを検討してください。これにより、さまざまなLinuxディストリビューション(FedoraやUbuntuなど)を使用でき、分離された環境でこれらの2つのディストリビューションのみを実行できるため、残りのツールの「非標準」バージョンを強制的に適用してシステムに影響を与えません。