介绍

超文本传输协议 HTTP 协议用于在 Web 浏览器和 Web 服务器之间传输信息。 HTTP 协议以明文形式发送内容,而不提供任何数据加密方式。如果攻击者截获 Web 浏览器和 Web 服务器之间的传输消息,他可以直接读取信息。为了解决 HTTP 协议的这个缺陷,需要给 HTTP 添加一个证书,将其升级为:Secure Socket Layer 超文本传输协议 HTTPS。为了数据传输的安全,HTTPS 在 HTTP 的基础上增加了 SSL 协议。 SSL 依靠证书来验证服务器的身份,并对浏览器和服务器之间的通信进行加密。

我们和用户之间的信息怎么会被别人偷听到?所以我们需要给我们的网站加一层“保护套”(SSL/TSL)

这时候你可以选择建木CI提供的解决方案:使用acme SSL节点快速为你的网站加一个“保护套”!

目前acme-ssl节点支持阿里云作为DNS服务解析器创建域名证书。华为云和腾讯云稍后会加入。

申请域名

要向ca申请证书,首先要拥有自己的域名。目前支持阿里云作为DNS解析器,所以我们要从阿里云购买一个域名

为你的域名申请证书

使用建木词安排acme SSL节点为你的域名申请证书。剑木CI的安装、使用方法及剑木CI相关概念的介绍详细写在这篇博客:基于剑木CI部署maven项目,欢迎围观

定义管道申请证书,

名称:acme-ssl

描述:pip 的 acme-ssl

管道:

极致_sh:

输入:“acme_ssl_aliyun:1.0.2”

参数:

申请哪个域名的证书

domain: "\*.黄西.Asia"

填写你的邮箱

邮箱:“1014231151@qq.com”

#阿里云的AccessKey。具体访问方式请参考阿里云官网

阿里_Kiya: ((Ali.Kiya))

具体访问方式请参考阿里云官网

阿里_secret: ((ali.secret))

#通过public dns检查如果为真,等待20秒,acme SH会使用cloudflare public dns或者google dns来检查记录是否有效。

如果参数为假,acme SH 会等待 10 秒,什么也不做。在测试阶段,我们将此值设置为false,因此我们不必检查公共dns

dns_check: 假

选择一个CA组织。支持的 CA 可以是letsencrypt 或letsencrypt_test,buypass,buypass_test,zerossl,sslcom。

默认是zerossl,buypass、buypass_test和sslcom是向CA机构收费

ca:“zerossl”

以下两个节点是复制数据节点。目的是将生成的私钥和证书发送到我们的服务器

scp_cert:

类型:scp_resouce:1.1.0

参数:

目标服务器的主机ip

ssh_ip: xxx.xxx.xxx.xxx

服务器私钥

ssh_private_key: ((xxx.server_private_key))

将哪个文件夹同步到目标服务器。如果目标服务器没有这个文件夹,会自动创建并同步

远程_文件:/tmp/hx/fullchain.cer

哪个文件会同步到服务器?在这里,证书将同步到服务器

本地_文件:${acme_sh.cer_path}

scp_key:

类型:scp_resouce:1.1.0

参数:

ssh_ip: xxx.xxx.xxx.xxx

ssh_private_key: ((xxx.server_private_key))

这里,私钥同步到服务器

远程_file: /tmp/hx/*.huangxi.asia.key

本地_文件:${acme_sh.key_path}

将进程dsl复制到建木CI并开始运行进程。让我们等待acme SSL节点为我们申请证书

等待之后,进程已经全部跑通

来到虚拟机,检查复制的证书和私钥。此时的心情就是一个字,清爽~

将证书私钥部署到服务器

在我们获得证书和私钥后,我们可以将它们部署到我们的服务器上。这里使用 nginx 作为我们的 web 容器

  • 安装nginx

[root@huangxi ssl]# yum -y 安装nginx

  • 查看nginx的位置。 nginx启动的二进制文件位于/usr/sbin/nginx,配置文件位于/etc/nginx/nginx conf

[root@huangxi ssl]# nginx在哪里

nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx. 8.gz

  • 启动nginx

[root@huangxi ssl]# nginx

  • 修改nginx的配置文件

# 将如下配置添加到http缓存中

服务器{

开启 ssl 443 端口监听

听 443 ssl;

对应的域名,放* huangxi.只需将亚洲更改为您自己的域名

server_那么 *.黄西.Asia;

配置从acme SSL节点获取证书的路径

ssl_certificate /tmp/hx/ssl/fullchain.cer;

配置从acme SSL节点获取私钥的路径

ssl_certificate_key /tmp/hx/ssl/*.huangxi.asia.key;

ssl_session_cache 共享:SSL:1m;

ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl\prefer\server\ciphers 开启;

位置 / {

根html;

索引 index.html index.htm;

}

}

服务器{

听 80;

服务器_name huangxi.asia;

即使你访问80端口,也将他重定向到443端口

改写 ^/(.*)$ https://*.huangxu.asia:443/$1 永久;

}

  • 验证nginx配置文件是否配置正确

[root@huangxi nginx]# nginx -t

nginx:配置文件/etc/nginx/nginx.conf 语法没问题

nginx:配置文件/etc/nginx/nginx.conf 测试成功

  • 重新加载nginx配置文件

[root@huangxi nginx]# nginx -s reload

测试证书是否有效

打开我们的浏览器,输入www.huangxi.asia(在这里输入您自己的域名)

如上图所示,我们访问了nginx默认的欢迎页面。可以看到我们使用https协议访问,证书是有效的。至此,我们已经成功为我们的网站加了一层“保护罩”

本文为建木博主“自由”的原创投稿。如需转载,请联系授权人员。

向(官方):https://jianmu.dev

项目(托管:https://gitee.com/jianmu-dev

项目(文档:https://docs.jianmu.dev

在线体验:https://ci.jianmu.dev

Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品

更多推荐