谈谈本站是如何实现https访问的 免费ssl证书

PHP/Mysql/Nginx Alice 3年前 (2020-12-04) 1237次浏览 1个评论

前几天有个博友在本站留言让我给网站整理下 https,这两天终于花点时间把它弄好了。以下是本站实现https 访问的全过程。

一、申请证书
登录网站 https://freessl.cn/,按照提示,输入要创建免费 ssl 证书的网站域名,点击创建,如下图,
谈谈本站是如何实现 https 访问的 免费 ssl 证书

下一步输入邮箱地址,点击创建,如图
谈谈本站是如何实现 https 访问的 免费 ssl 证书
这时候会有一个弹出框提示是否安装 KeyManager,如果没有则需先下载安装,再重新创建
谈谈本站是如何实现 https 访问的 免费 ssl 证书
若安装了 KeyManager,则直接点击打开 KeyManager,它会自动 CSR 文件,如图
谈谈本站是如何实现 https 访问的 免费 ssl 证书

二、验证

谈谈本站是如何实现 https 访问的 免费 ssl 证书

DNS 验证,需要在域名解析那里添加一条 TXT 记录,其中记录名称为第二行的内容,记录值为第三行的内容。

谈谈本站是如何实现 https 访问的 免费 ssl 证书

建议在点击 ”点击验证“按钮之前进行一次手动验证,这样能大概率的保证证书的签发。

注意,如果第一次验证失败,你可在 10 分钟之后再次点击验证。或者随时登录到控制台进行验证。

谈谈本站是如何实现 https 访问的 免费 ssl 证书

三、获取证书

谈谈本站是如何实现 https 访问的 免费 ssl 证书

现在获取到证书了,然后将证书下载下来。
谈谈本站是如何实现 https 访问的 免费 ssl 证书
谈谈本站是如何实现 https 访问的 免费 ssl 证书

四、配置 SSL 证书
首先将证书上传到服务器。

其次进入网站的目录下,找到 usr/local/nginx/conf 下的”自己的域名前缀.conf”这个配置文件(安装 Nginx 的方法不同有可能目录也不一样),在文件中如图添加字段:

listen 443 ssl;
ssl_certificate /usr/local/nginx/full_chain.pem;
ssl_certificate_key /usr/local/nginx/91tm.org_key.key;

谈谈本站是如何实现 https 访问的 免费 ssl 证书

重启 nginx,ssl 配置生效。即可访问网站 https。
谈谈本站是如何实现 https 访问的 免费 ssl 证书

五、http 强制跳转 https
网站 https 已经可以访问但又不想继续留着 http 的话,可以做一个 http 跳转 https 的 301 重定向,这样用户访问时就会自动跳转到 https,非常方便。

进入网站的目录下,打开”自己的域名前缀.conf”这个文件,添加代码:

if ($server_port = 80) {
return 301 https://$server_name$request_uri;
}

if ($scheme = http) {
return 301 https://$server_name$request_uri;
}

error_page 497 https://$server_name$request_uri;

谈谈本站是如何实现 https 访问的 免费 ssl 证书


女程序员博客 , 版权所有丨本站采用BY-NC-SA协议进行授权 , 转载请注明谈谈本站是如何实现 https 访问的 免费 ssl 证书

【声明】:本博客仅为分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。

【关于安全】:任何 IDC 都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

喜欢 (11)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 强制跳转https的代码有点重复了,其实只须一句:if ($ssl_protocol = "") { return 301 https://$server_name$request_uri; } 就够了。
    lalala2023-04-28 20:01 回复