nginx安装部署ssl证书

1. 获取SSL证书

1. FreeSsl

这个暂时还没成功过,但是他的有效期有一年的比较简单,本人在部署的时候总是出现 Nginx command is not found,暂未查询到解决方案

2. Ohttps

1.创建证书

  • 首先注册一个Ohttps账号

  • 进入控制台,点击证书 进行 创建证书

Ohttps控制台

  • 按照需求填写,使用泛域名更加简单一点,点击下一步获取 DNS解析记录

泛域名证书

ohttps配置DNS解析记录.png

  • 登录域名提供商控制台,创建DNS解析记录,并在本页面进行测试,然后创建证书
    查看证书

  • 回到证书菜单,点击查看
    查看证书

  • 将页面中的cert.key fullchain.cer下载到本地备用

2. 配置自动更新

点击上一张图片中的免DNS授权,记录配置,查看需要设置的DNS解析记录即可,在服务器提供商的控制台中手动添加记录。

2. Nginx部署准备

1. 查看是否安装 Http-ssl

  • 查看是否安装 http-ssl模块
$ /usr/local/nginx/sbin/nginx -V

如果出现了 configure arguments: –with-http_ssl_module则已安装,可以跳过本章节

2. 安装Nginx

Nginx安装配置教程请参考:Nginx安装部署流程Centos安装Nginx错误集锦

  1. 下载安装包

    cd /usr/local/src
    weget http://nginx.org/download/nginx-1.15.9.tar.gz
    
  2. 解压安装包

    tar -zxvf nginx-1.15.9.tar.gz
    
    
  3. 配置SSL模块

    cd nginx-1.15.9
    ./configure --prefix=/usr/local/nginx --with-http_ssl_module
    
  4. 执行make命令重新编译Nginx

    make
    
  5. 备份原有nginx替换文件

    # 停止现有nginx
    nginx -s stop
    # 停止现在的Nginx
    nginx -s stop
    # 备份并覆盖文件
    cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak
    cp objs/nginx /usr/local/nginx/sbin/nginx
    
  6. 验证是否正确

    #验证配置是否正常
    /usr/local/nginx/sbin/nginx -t
    # 出现下列信息代表正常
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    
  7. 重新启动Nginx

    cd /usr/local/nginx/sbin
    ./nginx
    
  8. 查看编译参数

    ./nginx -V
    #提示一下信息则代表安装好了
    nginx version: nginx/1.18.0
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 
    built with OpenSSL 1.0.2k-fips  26 Jan 2017
    TLS SNI support enabled
    configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    

3. 原有Nginx添加HttpSSL模块

进入Nginx安装包目录 ,如我本人的

cd /opt/nginx-1.15.9

执行上一小节的4-8步骤即可

3. 部署SSL证书

  1. 上传证书到服务器上

    cd /usr/local/nginx
    # 在nginx 的 conf 同级目录创建cert证书文件夹
    mkdir cert
    # 将证书文件上传到服务器中
    scp D:\cert.key 		root@xxx.xxx.xxx.xxx:/usr/local/nginx/cert/
    scp D:\fullchain.cer   root@xxx.xxx.xxx.xxx:/usr/local/nginx/cert/
    
  2. 编辑Nginx配置文件

    编辑前记得备份原来的配置文件

    cp nginx.conf nginx.conf.bak
    
    server {
        listen          443 ssl;
        #这里换成自己的域名,多个域名用空格隔开
        server_name     lesscoding.net www.lesscoding.net mail.lesscoding.net;
        # ssl 证书地址
        ssl_certificate /usr/local/nginx/cert/fullchain.cer;
        ssl_certificate_key /usr/local/nginx/cert/cert.key;
        #ssl验证相关配置
        ssl_session_timeout 5m; #缓存有效期
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    #加密算法
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;  #安全连接可选的加密协议
        ssl_prefer_server_ciphers on;   #使用服务器端的首选算法
        location / {
            root dist;
            index index.html index.htm;
        }
    
    }
    
  3. 将http重定向到https

    此操作需要全站都是用 https 链接

    server {
        listen       80;
        server_name  lesscoding.net www.lesscoding.net mail.lesscoding.net;
        return 301 https://$server_name$request_uri;
    }
    
  4. 重启Nginx

    nginx -s reload
    

4. 其他相关

  1. 输入自己的域名进行 检测是否开启https
  2. 一键生成服务器SSL证书配置
  3. 校验网站安全性

5. 参考文章

  1. Nginx 安装 SSL 配置 HTTPS 超详细完整全过程
  2. 如何为已经安装好的 Nginx 添加 SSL 模块
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值