linux系统nginx服务器上配置https协议

        今天工作工作中老板提出一个要求:http协议不安全,我们需要一个相对安全的协议,

        我说:老板,那用啥子呢?

        老板想了一下:好,就用https,你去在nginx系统上配置一个;

        我说:老板,没问题;

        我的个乖乖,http不好吗?非得用https,关键是没配过啊,真是愁啊,但当时自己挖的坑怎么也得跳啊,没办法,得找资料啊,和度娘一番云雨过后,顿时傻眼,我勒个去,https协议得需要一个证书,关键是这证书得要钱啊,关键是小弟穷啊,于是把这件事和老板汇报的一下。

        于是老板语重心长的说道:小x啊,你就不能自己生成一个证书;

        当时脑袋顿时如遭五雷轰顶,卧槽,还有这种操作,于是又找度娘梅开两度,额,你还真别说,还真有!然后就站在前辈的肩膀上自己尝试着捣鼓一下,顺便写一点心得体会,与各位道友分享:

        

        好,走:

        进入linux系统,编译命令:/usr/local/nginx/sbin/nginx -V


扫描二维码关注公众号,回复: 3930928 查看本文章

        如上图红色下划线,确保有红色方框中的这些参数;

        如果没有,那也没关系,执行编译命令:  ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module   (注意,此时的编译位置是:[root@localhost nginx-1.12.2])

        此时,会报出如下错误:
        

        表示你没有导入pcre library,那么执行导入命令: yum install pcre pcre-devel -y
        重新编译, 此时,又会出现如下错误:
        
        表示没有导入openSSL library,那么到入即可: yum install openssl openssl-devel -y
        
        再次重新编译,再执行命令:
        make
        make install
        
       再创建服务器私钥: openssl genrsa -des3 -out server.key 1024
        此时,会出现如下需要输入server.key:直接回车即可;
        

       创建签名请求的证书: openssl req -new -key server.key -out server.csr
        
        
        要求输入一些国家,省份,城市等等, 随便输入即可;  
        
        此时,输入命令: ll        
        可以看到ssl文件下多出了如下文件:
        

        其中server,crt即为自生成的https证书;

        然后,我们需要在nginx.conf配置文件中配置证书文件的路径: cd /usr/local/nginx/conf  
             

        红框即为配置文件,修改之前,最好备份: cp nginx.conf bak_nginx.conf  
        

        然后输入如下命令进入配置文件: vim nginx.conf
        找到如下位置:
        

        这里即为https的参数位置,添加如下信息:

         server{
             listen 80;

             listen 443;
             ssl on;
             ssl_certificate /usr/local/nginx/conf/ssl/server.crt;
             ssl_certificate_key /usr/local/nginx/conf/ssl/server_nopassword.key;
             fastcgi_param HTTPS $https if_not_empty; #有https协议时自动使用https,否则忽略这个参数。
          }
        
        划红框的即为server.crt证书文件的路径;
        
        然后,回到sbin目录下: cd /usr/local/nginx/sbin  
        启动nignx: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

        然后打开浏览器,输入: https://192.168.23.129    (注:不同的电脑ip不同)
        

        此时, https证书导入成功。      


        = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

        然后, 又过了几天, 公司在阿里云买了台服务器, 又让我在阿里云的服务器上配置一个nginx, OMG, 这几天白干了,好吧, 装nginx和在虚拟机上一样, 只是需要在阿里云服务器上进行如下操作即可:按顺序点击红框所示即可。
        
    
        
        
    

        
   
   

        
这里只需输入如上,如下红框的内容即可;

最后,就OK了!!!




































猜你喜欢

转载自blog.csdn.net/boy_chen93/article/details/79371421