centos 配置nginx TLS 1.2/SSL 服务器


环境清单

系统: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;

……

验证

浏览器调试模式

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM