環境清單
系統:centos7.6 64位 (其它版本未驗證)
openssl-1.1.0k
zlib-1.2.11
pcre-8.41
nginx-1.13.5
安裝gcc c++編譯環境
#yum -y install gcc gcc-c++
安裝openssl
openssl 1.1.1編譯有問題,所以用1.1.0k
#cd /tmp
#wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0k.tar.gz
#tar xf openssl-1.1.0k.tar.gz
tar命令用xzf解壓出來的有問題,去掉z參數,用xf
#cd openssl-1.1.0k
#./config --prefix=/usr/local/openssl-1.1.0k --openssldir=/usr/local/openssl-1.1.0k --libdir=lib shared -Wl,-R,'$(LIBRPATH)' -Wl,--enable-new-dtags enable-ec_nistp_64_gcc_128 enable-tls1_2
#make
#make install
修改系統ssl配置
#mv /usr/bin/openssl /usr/bin/openssl.old
#mv /usr/include/openssl /usr/include/openssl.old
#ln -s /usr/local/openssl-1.1.0k/ /usr/bin/openssl
#ln -s /usr/local/openssl-1.1.0k/include/openssl/ /usr/include/openssl
安裝zlib
http://www.zlib.net/ 下載zlib-1.2.11.tar.gz上傳到 /tmp
#cd /tmp
#tar xf zlib-1.2.11.tar.gz
#cd /tmp/zlib-1.2.11
#./configure --prefix=/usr/local/zlib-1.2.11
#make
#make install
#echo "/usr/local/zlib-1.2.11/lib" >> /etc/ld.so.conf
# ldconfig -v
安裝nginx
#cd /usr/local
#wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
#tar xvf pcre-8.41.tar.gz
#cd pcre-8.41
#./configure
#make
#make install
#cd /tmp
#wget http://nginx.org/download/nginx-1.13.5.tar.gz
#tar xvf nginx-1.13.5.tar.gz
#cd nginx-1.13.5
#./configure --prefix=/usr/local/nginx1.13.5 --with-http_ssl_module --with-pcre=/usr/local/pcre-8.41 --with-openssl=../openssl-1.1.0k --with-zlib=../zlib-1.2.11 --with-stream
注意:
1、上面參數里的 ../openssl-1.1.0是openssl安裝包路徑,完整路徑是:/tmp/openssl-1.1.0,不是安裝好的/usr/local/openssl-1.1.0
2、上面參數里的 ../zlib-1.2.11是zlib安裝包路徑,完整路徑是:/tmp/ zlib-1.2.1,不是安裝好的/usr/local/ zlib-1.2.1
#make
#make install
ssl證書
以阿里雲為例,購買阿里雲ssl證書,可選免費單域名,配置好后下載ngxinx服務器證書。
將下載的證書解壓,會有兩個文件:.key和.pem文件,拷貝兩個文件到 /etc/pki/tls/certs
Nginx配置
編輯nginx.conf文件,找到server塊,修改如下,紅字部分為添加配置:
server {
listen 80;
listen 443 ;
server_name testssl.xxx.cn;
ssl_certificate /etc/pki/tls/certs/5795782_testssl.xxx.cn.pem;
ssl_certificate_key /etc/pki/tls/certs/5795782_testssl.xxx.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl on;
#charset koi8-r;
#access_log logs/host.access.log main;
……
驗證
瀏覽器調試模式