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

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

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

一 原理说明:

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

二 效果如下:

三 准备工作或者必要条件

  • 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.10.3.tar.gz
    # tar -zxvf nginx-1.10.3.tar.gz
    # cd  nginx-1.10.3
    # ./configure --prefix=/export/nginx-1.10.3 --with-http_stub_status_module --with-http_ssl_module
    # 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/lockbur.com/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

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

目录
相关文章
|
13天前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
25 1
|
2天前
|
JavaScript IDE 编译器
TypeScript中模块路径解析与配置:深入剖析与最佳实践
【4月更文挑战第23天】本文深入探讨了TypeScript中模块路径解析的原理与配置优化,包括相对路径、Node.js模块解析和路径别名。通过配置`baseUrl`、`paths`、`rootDirs`以及避免裸模块名,可以提升开发效率和代码质量。建议使用路径别名增强代码可读性,保持路径结构一致性,并利用IDE插件辅助开发。正确配置能有效降低维护成本,构建高效可维护的代码库。
|
3天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
7 0
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
|
3天前
|
存储 开发工具 对象存储
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
10 0
|
8天前
|
域名解析 网络协议 Linux
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
|
10天前
|
存储 弹性计算 安全
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
2核2G、2核4G配置是很多个人和企业建站以及部署中小型的web应用等场景时首选的云服务器配置,这些配置的租用价格也是用户非常关心的问题,本文为大家整理汇总了2024年阿里云服务器2核2G、2核4G配置不同实例规格及地域之间的收费标准,同时整理了这些配置最新活动价格,以供大家参考和选择。
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
|
13天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
1月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 分布式计算 网络协议
阿里云服务器内存型r7、r8a、r8y实例区别参考
在阿里云目前的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y这几个实例规格,相比于活动内的经济型e、通用算力型u1实例来说,这些实例规格等性能更强,与计算型和通用型相比,它的内存更大,因此这些内存型实例规格主要适用于数据库、中间件和数据分析与挖掘,Hadoop、Spark集群等场景,本文为大家介绍内存型r7、r8a、r8y实例区别及最新活动价格,以供参考。
阿里云服务器内存型r7、r8a、r8y实例区别参考
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程

相关产品

  • 云解析DNS