Yum을 사용하세요

Yum을 사용하세요

저는 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)을 사용할 수 있고 격리된 환경에서 해당 두 배포판만 실행할 수 있으므로 나머지 도구의 "비표준" 버전을 강제로 적용하여 시스템에 영향을 주지 않습니다.

관련 정보