uuesti kompileerida OpenSSL 1.1 ja NGINX 1.25 jaoks TLS 1.3 (CentOS 7)

uuesti kompileerida OpenSSL 1.1 & NGINX 1.25 eest TLS 1.3 (CentOS 7), järgides stsenaariumi, kus olete juba serverisse installinud o vanema versiooni openssl nginxi teenusega seotud.

Täpsemalt, et saaks aktiveerida OpenSSL 1.1.1t teenuse eest NGINX, mis töötab vanema versiooniga. OpenSSL 1.0.2k.

# nginx -V
nginx version: nginx/1.25.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
# openssl version -a
OpenSSL 1.1.1t  7 Feb 2023

See tähendab, et sellel on kaks erinevat versiooni OpenSSL. Versioon, mille on süsteemi installinud "yum"(1.0.2k-fips) ja versioon OpenSSL installitud käsitsi kompileerimise teel (openssl 1.1.1t).

Klassikaliselt soovitab enamik uuesti installidaOpenSSL' serveri tasemel. See eeldaks käsu täitmist: yum remove openssl. Siin on aga suur probleem. Vana versiooni desinstallimisega OpenSSL, peate võib-olla desinstallima ka mõned sõltuvad rakendused. Nagu näiteks: nginx, MariaDB-server, cerbotPlus palju muud.

Lihtsam lahendus on uuesti kompileerimine openssl 1.1 & nginx 1.25 eest TLS 1.3.

Koostage õpetus uuesti OpenSSL 1.1 & NGINX 1.25 eest TLS 1.3 (CentOS 7)

Minu näites on ümberkompileerimine mõeldud nginx/1.25.0 & OpenSSL 1.1.1h kasutades raamatupoode OpenSSL 1.1.1t.

Kompileerige NGINX uuesti.

1. Looge fail: nginx-with-tls13-compile.sh

sudo nano nginx-with-tls13-compile.sh

kuhu lisate skripti:

#!/bin/bash

## nginx
NGINX=nginx-1.25.0.tar.gz

if [ ! -f "${NGINX}" ];then
    wget https://nginx.org/download/${NGINX}
fi

ND=$(basename $NGINX .tar.gz)
if [ ! -d "${ND}" ];then
    tar zxvf ${NGINX}
fi

cd ${ND}

## pre require package
## yum install gcc pcre-devel zlib-devel

./configure --prefix=/etc/nginx \
    --sbin-path=/usr/sbin/nginx \
    --modules-path=/usr/lib64/nginx/modules  \
    --conf-path=/etc/nginx/nginx.conf \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --pid-path=/var/run/nginx.pid \
    --lock-path=/var/run/nginx.lock \
    --http-client-body-temp-path=/var/cache/nginx/client_temp \
    --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
    --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
    --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
    --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
    --user=nginx \
    --group=nginx \
    --with-compat \
    --with-file-aio \
    --with-threads \
    --with-http_addition_module \
    --with-http_auth_request_module \
    --with-http_dav_module \
    --with-http_flv_module \
    --with-http_gunzip_module \
    --with-http_gzip_static_module \
    --with-http_mp4_module \
    --with-http_random_index_module \
    --with-http_realip_module \
    --with-http_secure_link_module \
    --with-http_slice_module \
    --with-http_ssl_module \
    --with-http_stub_status_module \
    --with-http_sub_module \
    --with-http_v2_module \
    --with-mail \
    --with-mail_ssl_module \
    --with-stream \
    --with-stream_realip_module \
    --with-stream_ssl_module \
    --with-stream_ssl_preread_module \
    --with-openssl=../$(basename $OPENSSL .tar.gz)
    
make

sudo make install

nginx -V

Salvestage uus fail.

2. Looge uus käivitatav fail:

chmod +x nginx-with-tls13-compile.sh

uuesti kirjutama nginx.service

3. Tehke varukoopia nginx.service.

cat /lib/systemd/system/nginx.service > /srv/nginx_service.txt

(saate valida mis tahes soovitud tee nginx_service.txt)

4. Looge teenuse fail nginx: nginx.service

sudo nano nginx.service

5. Failis uus fail nginx.service lisa read:

##  /lib/systemd/system/nginx.service

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

6. Kopeerige fail kausta "daemon".

sudo cp nginx.service /lib/systemd/system/nginx.service

7. Pärast faili kopeerimist värskendage faili õigusi käsuga:

sudo chmod 644 /lib/systemd/system/nginx.service

8. Laadige konfiguratsioon uuesti systemd muudatuste arvessevõtmiseks käsuga:

sudo systemctl daemon-reload

9. Taaskäivitage ngnix.

sudo systemctl restart nginx

uuesti kompileerida OpenSSL / NGINX eest TLS 1.3

10. Samas kaustas, kus teil on failid nginx-with-tls13-compile.sh şi nginx.service, looge uus fail: openssl-1.1-compile.sh.

sudo nano openssl-1.1-compile.sh

Lisage skript:

#!/bin/bash

## Compile OpenSSL
OPENSSL=openssl-1.1.1h.tar.gz

DONE=openssl-compile-done

if [ ! -f "${DONE}" ] ;then
    wget https://www.openssl.org/source/${OPENSSL}

    tar zxvf ${OPENSSL}

    cd $(basename $OPENSSL .tar.gz)

    ./config shared no-idea no-md2 no-mdc2 no-rc5 no-rc4 --prefix=/usr/local/

    make

    sudo make install

    cd ..

    touch ${DONE}
fi

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64/

read -n1 -r -p "$(/usr/local/bin/openssl version) - Press any key to continue..." key

source ./nginx-with-tls13-compile.sh

Asenda "OPENSSL=openssl-1.1.1h.tar.gz” versiooniga, mille soovite installida ja NGINX-iga uuesti kompileerida.

11. Muutke skript käivitatavaks:

chmod +x openssl-1.1-compile.sh

12. Käivitage käsk:

./openssl-1.1-compile.sh

Oodake, kuni kompileerimisprotsess on lõpule viidud OpenSSL & NGINX.

uuesti kompileerida OpenSSL 1.1 ja NGINX 1.25 jaoks TLS 1.3 (CentOS 7)
OpenSSL & NGINX

Kui saame teid aidata või on vaja teha täiendusi, on kommentaaride sektsioon avatud.

Olen kirglik tehnoloogia vastu ja kirjutan sellest rõõmuga StealthSettings.com aastast 2006. Leiad minu kirjutatud artikleid operatsioonisüsteemide kohta Windows, Linux, macOS, aga ka selliste veebiplatvormide kohta nagu WordPress şi WooCommerce

kuidas » Linux » uuesti kompileerida OpenSSL 1.1 ja NGINX 1.25 jaoks TLS 1.3 (CentOS 7)

Jäta kommentaar

Best tutorials in your language:
EN - DE - DA - FR - ES - IT - PT - NL - NO - FI - SV - PL - HR - SL - CS - SK - TR - EL - LV - ET - LT - BG - UK - RU - HU - ID - VI - HI - JA - KO - TH - ZH-CN - ZH-TW - IW - AR