前言
在CentOS版本的Linux系統(tǒng)下使用
yum install -y nginx
直接安裝。執(zhí)行
nginx -V
命令棠涮,查看nginx版本。nginx版本:1.16.1刺覆, OpenSSL: 1.0.2k
不能通過ATS檢測(cè)严肪,SSL Server Test評(píng)分【F】也很低。所以需要手動(dòng)安裝最新版本谦屑。
環(huán)境
安裝環(huán)境:CentOS 7
安裝openssl版本:1.1.1g
安裝Nginx版本:1.18.0
SSL證書申請(qǐng)機(jī)構(gòu):Let’s Encrypt 驳糯,支持蘋果ATS標(biāo)準(zhǔn)
SSL申請(qǐng)工具:acme.sh、SSL For Free在線生成
SSL 測(cè)試: SSL Server Test
配置步驟
安裝新版本Openssl
訪問Openssl官網(wǎng)氢橙,查看是否有最新版本:https://www.openssl.org/source
# !bin/bash
// 1酝枢、獲取安裝包
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
// 2、解壓安裝包,并進(jìn)入目錄
tar -zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
// 3悍手、安裝依賴程序
yum install zlib
// 4帘睦、編譯安裝
./config --prefix=/usr/local/openssl shared zlib --enable-tlsext
make depend
make && make install
// 5、配置使用新版本
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
// 6坦康、更新動(dòng)態(tài)鏈接庫
echo "/usr/local/lib64" >> /etc/ld.so.conf
// 7竣付、重新加載動(dòng)態(tài)鏈接庫
ldconfig -v
// 8、查看版本
openssl version
安裝Nginx, 支持TLS1.2+
安裝Nginx時(shí)候指定編譯下載的openssl的安裝包路徑滞欠。 --with-openssl=/root/downloads/openssl-1.1.1g
該下載的openssl支持TLS1.2+古胆,最新版本是肯定支持的。
官網(wǎng)查看最新版本:http://nginx.org/en/download.html
# !bin/bash
// 1筛璧、獲取并解壓安裝包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
// 2逸绎、配置并安裝
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-openssl=/root/downloads/openssl-1.1.1g
make && make install
// 3、配置使用新版本
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
//查看信息
nginx -V
//啟動(dòng)nginx服務(wù)
nginx
使用acme.sh申請(qǐng)SSL證書夭谤,并安裝到nginx或其他服務(wù)
注意點(diǎn):
- 使用acme.sh之前棺牧,先安裝支持TLSv1.2的Openssl工具(最新版本就可以)。
- 使用不支持TLSv1.2的Openssl工具申請(qǐng)的證書沮翔,在SSL Server Test測(cè)試不支持TLSv1.2陨帆。
- 申請(qǐng)的域名使用*.aa.com,一個(gè)證書配置所有的二級(jí)域名上采蚀。
# !bin/bash
acme.sh --issue --dns dns_dp -d *.aa.com
修改nginx.conf文件
server {
listen 443 ssl;
server_name test.codepower.top;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
location / {
root html;
index index.html index.htm;
}
}
注意:
以上配置后疲牵,瀏覽器提示不安全連接。檢查網(wǎng)頁中的圖片榆鼠、css纲爸、js是不是使用http請(qǐng)求方式。