一、准备工作

1、先安装nginx
  https://files.cnblogs.com/files/blogs/676936/nginx-1.18.0.sh #nginx-1.18.0版安装脚本
2、在阿里云配置域名解析(DNS)

二、安装SSL证书

先将需要添加SSL证书的域名配置到nginx.conf

server {
  server_name www.aa.com;
  listen 80;
  location / {
    root html;
    index index.html index.htm;
  }
}

1、操作系统CentOS7以上版本安装方式(安装certbox)

yum install epel-release-latest-7.noarch.rpm -y        #/yum安装epel
yum install certbot python2-certbot-nginx -y #yum安装 Certbot
yum -y install certbot #安装certbot
certbot -h #查看是否安装成功
certbot certonly --webroot -w /usr/local/nginx/html -d www.aa.com #证书生成,需要填写信息,邮件地址、A(同意)、Y
#证书生成地址:/etc/letsencrypt/live/www.aa.com
为多个域名添加证书:certbot certonly --webroot -w /usr/local/nginx/html -d 域名

2、操作系统CentOS7以下版本安装方式(安装certbox-auto)

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
/usr/local/bin/certbot-auto certonly --nginx #自动检测域名,获取ssl证书
##选择需要添加的域名即可
为多个域名添加证书:certbot-auto certonly --nginx --no-self-upgrade

方式1、2生成证书后都需要修改nginx.conf配置文件:

server {
  listen 443 ssl;
  server_name www.aa.com;
  ssl_certificate /etc/letsencrypt/live/www.aa.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/www.aa.com/privkey.pem;   location / {
    root html;
    index index.html index.htm;
  }
}
ssl_certificate file;     #当前虚拟主机使用PEM格式的证书文件;
ssl_certificate_key file; #当前虚拟主机上与其证书匹配的私钥文件;
修改完记得重载nginx配置文件:/usr/local/nginx/sbin/nginx -s reload

三、证书续期

certbot常用命令:
certbot [子命令] [选项] [-d 域名]
(默认) run:获取并安装证书到当前网页服务器;
certonly:获取或更新证书,但是不安装;
renew :更新已经获取但快过期的所有证书; -d 域名列表:指定证书对应的域名列表,域名之间使用逗号分隔;
--apache:使用Apache插件进行身份认证和安装
--standalone:运行一个独立的网页服务器用于身份认证
--nginx:用Nginx插件进行身份认证和安装
--webroot:把身份认证文件放置在服务器的网页根目录下;
–manual: 使用交互式或脚本钩子的方式获取证书;
-n:非交互式运行;
--test-cert:从预交付服务器上获取测试证书
–-dry-run:测试获取或更新证书,但是不存储到本地硬盘; --force-renew:强制更新证书
–-disable-hook-validation:更新前检查错误,如有错误将不会执行更新操作

证书管理:

certbox certificates  #显示使用Certbot生成的所有证书的信息,包括过期时间
certbox revoke: #撤销证书;
certbot revoke --cert-path /etc/letsencrypt/archive/www.mydomain.com/cert1.pem
certbox delete:删除证书;
certbot-auto --no-self-upgrade --force-renew certificates
      #查看证书信息 --force-renew 强制更新 --no-self-upgrade 不更新letsencrypt
撤销证书:
certbox revoke --cert-path /etc/letsencrypt/archive/www.mydomain.com/cert1.pem #撤销证书
   输入"y"确定撤销证书
certbox delete #删除证书
   然后选择一个需要删除的证书即可

证书续期:

certbot生成证书有3个月期限,到期需要续期,
自动续期:crontab -e #写到定时任务
0 3 */7 * * /usr/bin/certbot renew --force-renew --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
0 3 */7 * * /usr/local/bin/certbot-auto renew --no-self-upgrade --force-renew --renew-hook "/usr/local/nginx/sbin/nginx -s reload"

四、报错解决

报错1:File "/opt/rh/rh-python36/root/usr/lib64/python3.6/ssl.py", line 689, in do_handshake
执行:pip install --upgrade --force-reinstall 'requests==2.6.0' urllib3
报错2:"Could not find a usable 'nginx' binary. Ensure nginx exists, the binary is executable, and your PATH is set correctly
需要将nginx放到环境变量中
  ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
  ln -s /usr/local/nginx/conf/ /etc/nginx
繁华尽去,小时候逃离的地方,却是长大后再也回不去的远方。

nginx用Certbot配置免费SSL证书(ngx_http_ssl_module模块)的更多相关文章

  1. Nginx配置免费SSL证书StartSSL,解决Firefox不信任问题

    先在StartSSL上申请免费一年的SSL证书,具体过程网上很多教程.然后把申请到的key和crt文件上传到服务器,比如/usr/local/nginx/certs/. Nginx配置SSL证书 直接 ...

  2. nginx+腾讯云免费ssl证书+阿里云ECS实现Https配置

    1. 申请SSL证书: 首先我们需要到腾讯云那边申请一个ssl证书,对于个人博客类型的,建议采用免费版本,土豪除外 申请地址:https://console.cloud.tencent.com/ssl ...

  3. Nginx安装及配置免费HTTPS证书

    第一步:安装Nginx 安装Nginx 第二步:安装HTTPS证书( Let's Encrypt) 安装HTTPS证书 第三步骤:浏览器验证 Chrome浏览器打开开发者工具->Security ...

  4. LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...

  5. 【转】七牛免费SSL证书,配置自定义域名CDN加速

    原文链接:https://excaliburhan.com/post/use-qiniu-ssl-and-cdn.html 申请七牛SSL证书 其实,七牛在很早之前就支持CDN使用https,但是他要 ...

  6. oneinstack如何安装ssl证书和配置Let's Encrypt免费SSL证书教程汇总(转)

    OneinStack包含以下组合:lnmp(Linux + Nginx+ MySQL+ PHP) LNMP安装SSL安全证书 部署HTTPS:https://www.gworg.com/ssl/309 ...

  7. [从零开始搭网站六]为域名申请免费SSL证书(https),并为Tomcat配置https域名所用的多SSL证书

    点击下面连接查看从零开始搭网站全系列 从零开始搭网站 由于国内的网络环境比较恶劣,运营商流量劫持的情况比较严重,一般表现为别人打开你的网站的时候会弹一些莫名其妙的广告...更过分的会跳转至别的网站. ...

  8. 使用Let’s Encrypt创建nginx免费SSL证书

    资料参考: https://www.freehao123.com/top-8-free-ssl-cert/   八大免费SSL证书-给你的网站免费添加Https安全加密 https://www.fre ...

  9. StartCom免费ssl证书申请以及在Tomcat环境中的配置

    提示:建议以下操作不使用谷歌浏览器(该网站的证书不识别...),可以看到我的截图中谷歌换成了ie(没装火狐)...建议该申请使用火狐 前面介绍了下自签名的ssl证书,虽然可以实现https协议访问,但 ...

随机推荐

  1. Linux_网络进阶管理

    一.链路聚合 1.什么是链路聚合? 网卡的链路聚合就是将多块网卡连接起来,当-块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度. 2.链路聚合方式: ...

  2. 一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程

    一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程原创CrownP 最后发布于2019-02-05 00:48:30 阅读数 2982 收藏展开1.更改为阿里云的源点击软件和更新 点击其 ...

  3. http协议工作原理及工作流程

    什么是url ? url = 协议 + 域名 + 资源路径 比如: https://www.baidu.com/index.html http : 超文本传输协议 https: 安全套接字协议 HTT ...

  4. 10.5 arp:管理系统的arp缓存

    arp命令 用于操作本机的arp缓存区,它可以显示arp缓存区中的所有条目.删除指定的条目或者添加静态的IP地址与MAC地址的对应关系.     什么是arp?即地址解析协议(ARP,Address ...

  5. Python小白的数学建模课-A1.2021年数维杯C题(运动会优化比赛模式探索)探讨

    Python小白的数学建模课 A1-2021年数维杯C题(运动会优化比赛模式探索)探讨. 运动会优化比赛模式问题,是公平分配问题 『Python小白的数学建模课 @ Youcans』带你从数模小白成为 ...

  6. VMware虚拟机CentOS磁盘扩容

    版本信息: VMware Workstation 15 Pro  15.5.2 build-15785246, CentOS7 原虚拟机默认20G,安装东西多了,磁盘空间不够用, docker mys ...

  7. GO文件读写03---使用缓冲读写实现视频文件的拷贝

    package main import ( "bufio" "fmt" "io" "os" ) /* ·使用缓冲读写实现 ...

  8. CAP 5.1 版本发布通告 - 你期待的 Redis 来了

    前言 今天,我们很高兴宣布 CAP 发布 5.1 版本正式版,在这个版本里我们同样引入了更多令人激动的新特性和改进,同时也得到越来越多人的喜爱. 得益于社区的反馈和贡献者的支持,在过去的两个月里,我们 ...

  9. CMOS图像传感器理解

    CMOS图像传感器理解 水流方向从左边流向右边,上面有一个开关,拧下去的时候水流停止,拧上去的时候水流打开.左边是水流的源头我们给它起个名字,叫做源端(就是源头的意思嘛),右边是水流出去的地方,也就是 ...

  10. 地理围栏API服务开发

    地理围栏API服务开发 要使用华为地理围栏服务API,需要确保设备已经下载并安装了HMS Core(APK),并将Location Kit的SDK集成到项目中. 指定应用权限 如果需要使用地理围栏服务 ...