Centos7安装nginx并配置SSL

原创
2018/07/11 14:08
阅读数 2.5W

一、Nginx的安装

 (1)由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装:

      $  yum install gcc-c++  
      $  yum install pcre pcre-devel  
      $  yum install zlib zlib-devel  
      $  yum install openssl openssl--devel 

(2)安装之前,最好检查一下是否已经安装有nginx

      $    find -name nginx  

    如果系统已经安装了nginx,那么就先卸载

       $  yum remove nginx  

(3)首先进入/usr/local目录

    $   cd /usr/local  

   从官网下载最新版的nginx

    $   wget http://nginx.org/download/nginx-1.8.1.tar.gz  

(4)解压nginx压缩包

    $   tar -zxvf nginx-1.8.1.tar.gz    

    会产生一个nginx-1.8.1 目录,这时进入nginx-1.8.1目录

    $   cd  nginx-1.8.1  

(5)接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装

    $   ./configure  $默认安装在/usr/local/nginx   
    $   make  
    $   make install      


(6)如果没有报错,顺利完成后,最好看一下nginx的安装目录

    $   whereis nginx  


安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。

二、Nginx的HTTPS配置 

1.修改nginx.conf的相关位置

    server {

    listen     80;

    listen      8011;

        listen      10443 ssl;

        server_name  localhost;

        #ssl on;

        ssl_certificate /root/ssl/server.cer;

        ssl_certificate_key /root/ssl/private.key;

        ssl_session_timeout 5m;

        ssl_protocols SSLv2 SSLv3 TLSv1;

        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

        ssl_prefer_server_ciphers   on;

        # autoindex on;

        # autoindex_exact_size_off;

        ....

2.执行/nginx -t,如果出现“nginx: [emerg] unknown directive "ssl" in ...”错误的处理:

  (1)到解压的nginx目录下

        $ cd nginx-1.8.1 

        $ ./configure --with-http_ssl_module

       如果出现:./configure: error: SSL modules require the OpenSSL library.

       需要安装:

        $ yum -y install openssl openssl-devel

      再执行:

        $ ./configure

      重新执行:

        $ ./configure --with-http_ssl_module

        $  make   --注:切记不能make install 会覆盖。

(2)备份原来nginx

        $ cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

        $ cp objs/nginx /usr/local/nginx/sbin/nginx

   (3) 重启nginx

        $ /usr/local/nginx/sbin/nginx -s reload

      注:但有时候执行nginx -s reload 不是很管用,需要kill -9 nginx进程,再重新启动。

      (记一次在配置nginx SSL时踩过的坑,执行nginx -s reload后,telnet 127.0.0.1 443 发现端口怎  么也不通,就这样折腾了好久,最后把nginx的进程kill了,重启启动,才OK了

 

1. openssl s_client -connect you.domain.com:443   这条命令可以查看你的证书内容

 

2.openssl s_client -tls1_1 -connect you.domain.com:443   可以查看SSL对TLS版本的支持

     如果出现上图,表示支持。

表示不支持。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部