Recompilare OpenSSL 1.1 & Ningin 1.25 för TLS 1.3 (CentOS 7)
omkompilera OpenSSL 1.1 & NGINX 1.25 för TLS 1.3 (CentOS 7), efter scenariot där du redan har installerat på servern o äldre version openssl associerad med nginx-tjänsten.
Mer specifikt för att kunna aktivera OpenSSL 1.1.1t för tjänsten NGINX, som körs med en äldre version. 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
Det betyder att det finns två olika versioner av OpenSSL. En version installerad på systemet via “yum” (1.0.2k-fips) och en version OpenSSL installeras genom manuell kompilering (openssl 1.1.1t).
Klassiskt sett rekommenderar de flesta att du installerar om ‘OpenSSL‘ på servernivå. Detta skulle involvera att utföra kommandot: yum remove openssl. Men det finns ett stort problem här. Med avinstallationen av den gamla versionen OpenSSL, kan du också behöva avinstallera vissa beroende appar. Såsom: nginx, MariaDB-server, cerbotplus många fler.
- Hur aktiverar du TLSV1.3 på ninx. VESTACP / CentOS eller Ubuntu
- Maximal giltighetsperiod TLS / SSL Certified 2023
- Skillnaderna mellan TLS 1.2 och TLS 1.3 – Hastighet och säkerhet
En enklare lösning är att kompilera om openssl 1.1 & nginx 1.25 för TLS 1.3.
Kompilera om handledning OpenSSL 1.1 & NGINX 1.25 för TLS 1.3 (CentOS 7)
I mitt exempel är omkompileringen för nginx/1.25.0 & OpenSSL 1.1.1h använder bokhandlar OpenSSL 1.1.1t.
Kompilera om NGINX.
1. Skapa filen: nginx-with-tls13-compile.sh
sudo nano nginx-with-tls13-compile.sh
där du lägger till skriptet:
#!/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
Spara den nya filen.
2. Gör den nya körbara filen:
chmod +x nginx-with-tls13-compile.sh
skriva om nginx.service
3. Gör en säkerhetskopia av nginx.service.
cat /lib/systemd/system/nginx.service > /srv/nginx_service.txt
(du kan välja vilken väg du vill nginx_service.txt)
4. Skapa filen för tjänsten nginx: nginx.service
sudo nano nginx.service
5. I filen den nya filen nginx.service lägg till raderna:
## /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. Kopiera filen till ‘daemon“.
sudo cp nginx.service /lib/systemd/system/nginx.service
7. När filen har kopierats uppdaterar du filbehörigheterna med kommandot:
sudo chmod 644 /lib/systemd/system/nginx.service
8. Ladda om konfigurationen systemd för att ta hänsyn till ändringarna med kommandot:
sudo systemctl daemon-reload
9. Starta om ngnix.
sudo systemctl restart nginx
omkompilera OpenSSL / NGINX för TLS 1.3
10. I samma mapp där du har filerna nginx-with-tls13-compile.sh och nginx.service, skapa en ny fil: openssl-1.1-compile.sh.
sudo nano openssl-1.1-compile.sh
Lägg till skriptet:
#!/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
Ersätta “OPENSSL=openssl-1.1.1h.tar.gz” med den version du vill installera och kompilera om med NGINX.
11. Gör skriptet körbart:
chmod +x openssl-1.1-compile.sh
12. Kör kommandot:
./openssl-1.1-compile.sh
Vänta tills omkompileringsprocessen är klar OpenSSL & NGINX.

Om vi kan hjälpa dig eller om det finns tillägg att göra är kommentarsfältet öppet.
Recompilare OpenSSL 1.1 & Ningin 1.25 för TLS 1.3 (CentOS 7)
Vad är nytt
Om Stomma
Passionerad om teknik, skriver jag med nöje på stealthsetts.com med början med 2006. Jag har en rik upplevelse av operativsystem: macOS, Windows och Linux, men också på programmeringsspråk och bloggplattformar (WordPress) och för onlinebutiker (WooCommerce, Magento, Presashop).
Visa alla inlägg av Stealth