阿里云新centos7.4系统安装https,通过openssl重新编译nginx

按照阿里云官方的https安装教程在编译nginx时总是报错,研究了很久,发现它的安装方法可能并不适用于已经预装好openssl的系统,而教程中提供的openssl版本比较新,网上大部分方法并不适用,经过半天的折腾总结出如下方案:


1.   远程连接 并登录到 Linux 实例。

2.   运行 cd/usr/local 切换目录。

3.   运行以下命令安装PCRE zlib 库。

1.   yum -y install pcre pcre-devel
2.   yum install -y zlib-devel

         前往 https://nginx.org/download/ 下载 Nginx。如示例中nginx-1.7.0.tar.gz 的下载地址为 http://nginx.org/download/nginx-1.7.0.tar.gz

运行 wgethttp://nginx.org/download/nginx-1.7.0.tar.gz 下载 Nginx

 

         运行 tar-zxvf nginx-1.7.0.tar.gz 解压安装包。

         前往 https://www.openssl.org/source 下载OpenSSL。如示例中openssl-1.0.1g.tar.gz 的下载地址为 https://www.openssl.org/source/openssl-1.0.1g.tar.gz

运行 wgethttps://www.openssl.org/source/openssl-1.0.1g.tar.gz 下载OpenSSL

 

         运行 tar-xvzf openssl-1.0.1g.tar.gz 解压安装包。

         新建文件夹mkdir /usr/local/ssl

          移动openssl文件夹

  mv /usr/local/openssl-1.0.1g /usr/local/ssl/openssl-1.0.1g

         进入解压后的openssl文件夹 cd./ssl/openssl-1.0.1g/

执行文件夹中的config文件,这里openssl的安装目录默认是/usr/local/ssl(由于系统环境差异路径可能不一致,下同),注意添加zlib-dynamic参数,使其编译成动态库

 ./config shared zlib-dynamic

         config完成后执行 make 命令make

     make 命令执行完后再执行make install 命令,安装openssl  make install

         重命名原来的openssl命令mv /usr/bin/openssl /usr/bin/openssl.old

         重命名原来的openssl目录mv /usr/include/openssl /usr/include/openssl.old 若没有此目录(阿里云centos7.4没有),省去此步骤。

         将安装好的openssl的openssl命令软连到/usr/bin/openssl

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

         将安装好的openssl的openssl目录软连到/usr/include/openssl

ln -s /usr/local/ssl/include/openssl  /usr/include/openssl

         修改系统自带的openssl库文件,如/usr/local/lib64/libssl.so(根据机器环境而定) 软链到升级后的libssl.so

    ln -s /usr/local/ssl/lib/libssl.so /usr/local/lib64/libssl.so

         执行命令查看openssl依赖库版本是否为1.0.1g    strings/usr/local/lib64/libssl.so |grep OpenSSL

         在/etc/ld.so.conf文件中写入openssl库文件的搜索路径

echo"/usr/local/ssl/lib">> /etc/ld.so.conf

         使修改后的/etc/ld.so.conf生效   ldconfig -v   此时查看openssl是否更新

openssl version

         源码重新安装nginx,使用ssl静态编译:执行nginx的configure文件时,除了业务需要的参数外,需要指定ssl为静态编译,编译参数带上--with-openssl便表明为静态编译ssl

cd /usr/local/nginx-1.7.0

./configure  --with-http_ssl_module--with-openssl=/usr/local/ssl/ openssl-1.0.1g   

         安装nginx    make && make install

         新建文件夹 /usr/local/nginx/conf/cert 证书导入

         修改 /usr/local/nginx/conf/nginx.conf 加入

 

server {

                   listen443;

                   server_name www.liuxuan.cc;

                   sslon;

                   ssl_certificate   cert/5.pem;

                   ssl_certificate_key  cert/5.key;

                   ssl_session_timeout5m;

                   ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

                   ssl_protocolsTLSv1 TLSv1.1 TLSv1.2;

                   ssl_prefer_server_cipherson;

                   location/ {

                                     proxy_intercept_errorson;

                                     proxy_redirectoff;

                                     proxy_set_headerHost $host;

                                     proxy_set_headerX-Real-IP $remote_addr;

                                     proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;

                                     proxy_passhttp://127.0.0.1:8082;

                            }

                   error_page    500 502 503 504  /defined50x.html;

                   location= /defined50x.html {

                            root   /usr/local/nginx/html;

                   }

                            access_log/usr/local/nginx/logs/mswx_access.log;

           }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值