在阿里云centos7.4上配置nginx免费的https证书,支持泛解析

一 原理说明:

使用acme.sh工具来生成证书,但为了方面采用的使用dns添加TXT记录验证方式,跟传统的webroot有区别。这种方式更简单,快速。

二 效果如下:

  • 根证书域名 https://wallbase.tv
  • 泛解析域名 https://www.wallbase.tv
  • 图片证明

三 准备工作或者必要条件

  • 1 购买阿里云的的ecs服务器,并且在阿里云已经购买域名
  • 2 阿里云开通accessKey,该accessKey需要有操作管理dnsapi的权限,注意:acme使用的letsencript为了验证域名是否是你自己拥有,会通过在域名解析记录中添加一条TXT的解析记录来做为验证。
  • 3 我所有操作都是/root/.acme.sh目录下执行的

四 实施步骤

  • 1 安装nginx
## 安装依赖组件,openssl-devel是必须的,因为nginx要使用ssl指令
# yum install -y gcc gcc-c++
# yum install –y openssl-devel pcre-devel zlib-devel
# wget http://nginx.org/download/nginx-1.12.2.tar.gz
# tar -zxvf nginx-1.12.2.tar.gz
# cd  nginx-1.12.2
# ./configure --prefix=/export/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_module --with-stream
# make && make install
  • 2 安装acme证书签发工具
## 参考文档https://github.com/Neilpang/acme.sh
# pwd
/root
# curl  https://get.acme.sh | sh
  • 3 使用dns_ali生成证书

    这里需要把阿里云的accessKey访问设置环境变量中,因为acme在执行过程会去调用阿里云的dnsapi接口,添加TXT的解析记录,在生成证书完毕后,会删除该记录,在解析列表中没有,但是你可以从解析历史记录中查看的历史数据的。

    说名:一般不需要写www.wallbase.tv而是使用*.wallbase.tv代替所有的泛解析域名。dns_ali表示使用的阿里云dns,当然acme还支持很多的dns提供商。

# export Ali_Key="LTAItQaq21eiKR66"
# export Ali_Secret="***********"
# ./acme.sh --issue --dns dns_ali -d wallbase.tv -d *.wallbase.tv
## 安装证书文件/root/.acme.sh/ssl/wallbase.tv
# mkdir -p ssl/wallbase.tv
# ./acme.sh --installcert -d wallbase.tv -d *.wallbase.tv --key-file ssl/wallbase.tv/privkey.pem --fullchain-file ssl/wallbase.tv/fullchain.pem

官方说明: The Ali_Key and Ali_Secret will be saved in ~/.acme.sh/account.conf and will be reused when needed. 意思就是你第一次执行后,acem会保留的的账号信息。所有你执行完毕,就可以使用如下命令删除环境变量:

# env
# unset Ali_Key
# unset Ali_Secret

执行完上面的步骤之后,会在你的/root/.acme.sh/ssl/wallbase.tv目录生产两个文件privkey.pem和fullchain.pem。没错这就是证书文件了。

五 把证书安装到nginx上去

  • 1 第一个 server指令监听的80端口,把所有http的访问重定向到https。
  • 2 nginx配置的关键指令 listen 443 ssl;监听443端口。
  • 3 指定证书文件的位置。这里证书文件可以泛解析,我二级域名都用同一个证书。
ssl_certificate /root/.acme.sh/ssl/wallbase.tv/fullchain.pem;
ssl_certificate_key /root/.acme.sh/ssl/wallbase.tv/privkey.pem;
  • 4 nginx的配置文件如下:
  server {listen 80;server_name localhost;rewrite ^(.*)$ https://$host$1 permanent;}server {server_name wallbase.tv www.wallbase.tv alpha.wallbase.tv;listen      443 ssl;ssl_certificate /root/.acme.sh/ssl/wallbase.tv/fullchain.pem;ssl_certificate_key /root/.acme.sh/ssl/wallbase.tv/privkey.pem;location / {limit_conn perip 10;proxy_pass http://localhost:3000;}location /api {limit_conn perip 10;proxy_pass http://localhost:1062;}location ~* \.(eot|ttf|woff|svg)$ {limit_conn perip 10;add_header Access-Control-Allow-Origin *;proxy_pass http://localhost:3000;}}server {server_name assets.wallbase.tv;listen      443 ssl;ssl_certificate /root/.acme.sh/ssl/wallbase.tv/fullchain.pem;ssl_certificate_key /root/.acme.sh/ssl/wallbase.tv/privkey.pem;location / {root html;}location ~* \.(eot|ttf|woff|svg)$ {limit_conn perip 10;add_header Access-Control-Allow-Origin *;}}
  • 5 最后还有关键一步,重启nginx
/export/nginx-1.10.3/sbin/nginx -s reload

然后去访问你的页面,看看是不是有点炫酷了。

  • 6 更新证书或者续期
## 当个证书更新
# acme.sh --renew -f -d *.wallbase.tv
## 全不强制更新
acme.sh  --cron --force --debug 2

在阿里云centos7.4上配置nginx免费的https证书,支持泛解析相关推荐

  1. 阿里云Centos7服务器域名解析和Nginx配置

    Python很容易就能上手,没事就多学点.猫哥最喜欢的一句话:价值决定价格!只有不断提升自己,才可以"为所欲为".Python进阶之路上,特别是大数据.机器学习都需要大量的运算,我 ...

  2. 阿里云CentOS 7.4 配置Nginx、PHP、Mariadb

    2019独角兽企业重金招聘Python工程师标准>>> 阿里云CentOS 7.4 基本环境配置 添加 yum 第三方源 常用的第三方源有两个:EPEL 和 IUS,可在 https ...

  3. 谷粒学院(八)阿里云oss | 头像上传 | Nginx

    文章目录 一.阿里云oss存储服务 1.开通 "对象存储OSS"服务 2.进入oss管理控制台 3.Java代码操作阿里云oss上传文件 二.后端集成OSS 1.在service模 ...

  4. 如何在阿里云•对象存储OSS托管用户域名的https证书

    摘要: OSS服务支持将用户域名绑定到OSS域名,并为此用户域名提供HTTPS证书托管服务.以满足用户使用自己的域名也能支持HTTPS安全加密的访问方式传输数据. 面向人群 您已经拥有了自己的域名. ...

  5. Vue项目上线(阿里云centos7+nginx)

    由来 自己原来做的一个网易云音乐的项目最近想把它上线,而且服务器也买了好久,因为一直没有学习Linux知识就一直搁置着,近来暑假快到了就想着捣鼓一下,项目github地址,上线地址,阿里云备案也太麻烦 ...

  6. linux (阿里云 CentOS7) 中安装配置 RocketMQ

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. JDK1.8的安装: 1.检查系统的JDK版本 根目录下操作:cd java -version 2. ...

  7. 阿里云apache配置php mysql_阿里云CentOS7搭建Apache+PHP+MySQL环境

    最近要搭建一个阿里云的LMAP环境,选了CentOS7来做搭建. 1.Apache Centos7默认已经安装httpd服务,只是没有启动. 如果你需要全新安装,可以yum install -y ht ...

  8. 阿里云centos7部署:nginx+uwsgi+django+vue

    基础环境 阿里云centos7 部署架构 nginx + uwsgi nginx提供静态文件服务和反向代理: uwsgi充当Web服务器: 部署过程 修改项目的配置文件,配置收集静态文件之后存放的目录 ...

  9. 阿里云 centos7 配置SSH 从无到有

    阿里云 Centos7 Linux服务器配置SSH: 注意:centOS 6和centOS7的重启ssh指令不一样. 首先,我们搜索一下CentOS的软件库里面有没有已经定义好的SSH服务器包. 重要 ...

最新文章

  1. Martin Fowler对全世界程序员的建议
  2. 感受野receptive field个人理解
  3. 前端基础-html-列表
  4. Toad9.7与Oracle11g在X86的Win7下的情况
  5. maven 一个简单项目 —— maven权威指南学习笔记(三)
  6. Java中判断字符串是否为数字
  7. JavaScript数据类型之Undefined、Null、Boolean
  8. 四步帮你分析用户流失原因 - 产品设计GAP模型
  9. pandas计算同比环比增长
  10. 51/stm32单片机软件调试方法与技巧
  11. 线段树入门(线段懵逼树、加了一些解释,丰富了一下内容)
  12. 数据挖掘之数据处理——SVM神经网络的数据分类预测-意大利葡萄酒种类识别
  13. 【异常解决】DolphinScheduler-2.0.5 工作流实例无法调度和停止异常
  14. Unity一键发包工具
  15. 大家都用什么Maven插件?及本人的几个常用插件分享
  16. 尚硅谷外卖项目笔记一
  17. 蓝桥杯评分标准_第十届蓝桥杯软件个人赛校内选拔赛评分标准和选拔标准.doc...
  18. 大规模MIMO的信道互易性,信道信息反馈
  19. 在微控制器平台等小型物联网设备上运行 JavaScript
  20. 巧用键盘鼠标!打字更快—办公效率更好!

热门文章

  1. 《机器学习实战》——决策树
  2. OSGI规范深入浅出
  3. JavaScript设计模式之模板方法模式
  4. 浙江省计算机三级网络数据库题库,2017计算机三级数据库试题
  5. ubuntu 改屏幕分辨率命令_如何调整Ubuntu系统的分辨率和屏幕刷新率?
  6. [笔记] vxworks添加静态路由备注routec
  7. macOS 系统下静态路由常用操作
  8. 从零开始搭建一个私有前端组件库
  9. 15.1 socket--网络接口库
  10. iOS自定义过渡动画