免费申请HTTPS证书和配置

admin 2023年4月17日02:21:37评论32 views字数 1998阅读6分39秒阅读模式

免费申请HTTPS证书和配置

序言

一直用的cloudflare的免费证书,看同事聊到证书续签的事,想到用了这么久的https还没自己弄过,就动手实践一下。

0x01 服务器环境

root@10-40-65-227:~# lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription:    Ubuntu 18.04.3 LTSRelease:        18.04Codename:       bionic

0x02 申请Let's Encrypt 证书

百度了一下,申请免费证书有好多方法:阿里云、腾讯云、certbot,这里随缘找个教程,用的是certbot。

#1.安装证书工具apt-get install letsencrypt
#2.申请证书#分别对两个域名申请不同的证书,等下测试配置http转https的两种方式certbot certonly --webroot -w /var/www/cert -d cert.foxyu.cncertbot certonly --webroot -w /var/www/cert2 -d cert2.foxyu.cn
参数解析: certbot certonly 表示使用 certbot 工具申请证书,并只申请证书,不进行其他操作; --webroot 表示使用 Webroot 模式,即通过在 Web 根目录下放置临时文件来验证域名的拥有权; -w /var/www/cert 表示 Web服务1 的根目录路径; -d cert.foxyu.cn 表示要申请证书的域名,如果想要申请同时包含www.foxyu.cn和cert.foxyu.cn域名的证书,可以使用 -d www.foxyu.cn -d cert.foxyu.cn
#注意需要注意的是,在使用 certbot 申请证书之前,需要确保已经正确配置了 DNS 解析,并将域名指向了正确的服务器 IP 地址。

输入你的邮箱,用于接收紧急通知和恢复。
第二步是否同意他们的服务条款(Agree)。第三步是否要接收他们的广告邮件(No)
这里第一次的时候报错了,因为这个域名无法正常访问,刚加的子域名,还没配置。

免费申请HTTPS证书和配置

免费申请HTTPS证书和配置

重新排查后保证域名的http服务可以正常访问,重新执行申请命令:

免费申请HTTPS证书和配置

申请成功,申请的证书保存在/etc/letsencrypt/live/域名目录下:

免费申请HTTPS证书和配置

证书文件为: fullchain.pem 密钥文件为:privkey.pem 。

0x03 nginx配置证书

直接在Nginx引用这两个文件就可以了

免费申请HTTPS证书和配置

查看证书,https配置成功:

免费申请HTTPS证书和配置

0x04 配置http跳转https

4.1 重定向

将HTTP 请求进行重定向到 HTTPS,如果客户端请求的是 HTTP,则服务器会返回 301 状态码,让客户端重新以 HTTPS 方式请求。
注意:

  • 这种方式客户端有一个301跳转

  • 如果有代理服务器,则这种方式只要求客户端和反向代理服务器之间建立的是普通的 HTTP 连接即可。

免费申请HTTPS证书和配置

效果:

免费申请HTTPS证书和配置

4.2 代理

将 HTTP 请求通过反向代理转发到 HTTPS 服务器上,如果客户端请求的是 HTTP,则服务器会将请求通过代理转发到后端的 HTTPS 服务器上,然后返回代理服务器收到的响应。
注意:

  • 这种方式客户无感,没有一个跳转的步骤

  • 但是要求反向代理服务器和后端的 HTTPS 服务器都需要正确配置 SSL 证书,否则客户端将无法与后端的 HTTPS 服务器建立加密连接,导致请求失败。不过正常证书都是配置在反向代理服务器上,转发到后端的时候就不使用https了。

server {    listen 80;    server_name cert.foxyu.cn;    return 301 https://$server_name$request_uri;}
server { listen 443 ssl; server_name cert.foxyu.cn;
ssl_certificate /etc/letsencrypt/live/cert.foxyu.cn/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cert.foxyu.cn/privkey.pem;
# Other SSL configuration options...
location / { # Other location configuration options... }}

4.3 HSTS-依赖于浏览器

HTTP Strict-Transport-Security(通常简称为 HSTS)响应标头用来通知浏览器应该只通过 HTTPS 访问该站点,并且以后使用 HTTP 访问该站点的所有尝试都应自动重定向到 HTTPS。

免费申请HTTPS证书和配置

免费申请HTTPS证书和配置

0x05 CF VS letsencrypt

免费申请HTTPS证书和配置

免费申请HTTPS证书和配置

结语

Let's Encrypt 申请的证书只有 90 天的有效期,90天一过就需要重新申请证书。
自动续签脚本的现在懒得写了,网上教程很多,等到时候这两个证书过期了再来弄,毕竟遇到问题解决问题是学习的最快方式。


原文始发于微信公众号(横戈安全团队):免费申请HTTPS证书和配置

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月17日02:21:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   免费申请HTTPS证书和配置https://cn-sec.com/archives/1657944.html

发表评论

匿名网友 填写信息