在阿里云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="xxxxx"
      # 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

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

目录
相关文章
|
11月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
962 87
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
11月前
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
417 14
|
11月前
|
安全 网络协议 算法
HTTP/HTTPS与SOCKS5协议在隧道代理中的兼容性设计解析
本文系统探讨了构建企业级双协议隧道代理系统的挑战与实现。首先对比HTTP/HTTPS和SOCKS5协议特性,分析其在工作模型、连接管理和加密方式上的差异。接着提出兼容性架构设计,包括双协议接入层与统一隧道内核,通过协议识别模块和分层设计实现高效转换。关键技术部分深入解析协议转换引擎、连接管理策略及加密传输方案,并从性能优化、安全增强到典型应用场景全面展开。最后指出未来发展趋势将更高效、安全与智能。
471 1
|
12月前
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
625 3
|
缓存 安全 网络安全
代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
本文详细介绍了HTTP、HTTPS和SOCKS5三种代理协议的特点、优缺点以及适用场景。通过对比和分析,可以根据具体需求选择最合适的代理协议。希望本文能帮助您更好地理解和应用代理协议,提高网络应用的安全性和性能。
1088 17
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
1785 13
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
941 3
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
472 0