nginx配置ssl证书实现https

简介: nginx配置ssl证书实现https

前言


SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

大部分小伙伴们都有自己网站, 今天分享一波如何给自己的网站配置SSL证书。

已配置

已配置证书的63f2fbf64c839556ed732e968ac3b5be.png

a5cb540d559aaf5bec9b3ef67f8b6bb7.png

未配置证书

我的简历网站就没有证书(github pages), 所以搜索栏会显示不安全, 影响访问量.

5bf295c78109a8c89b02ae75c7bfec5b.png

环境


  • 服务器系统:CentOS 7
  • 服务器IP地址:139.9.34.48
  • 域名:folio.codingce.com.cn
  • 服务器中nginx版本:nginx-1.16.1  (公众号回复"电脑环境"获取)


域名解析到服务器


在华为云控制台-云服务DNS-公网解析-找到需要解析的域名点“解析”,进入解析页面后选择【添加解析】按钮会弹出如下页面:

主机记录为 , 类型是 A – 将域名指向IPv4地址 , 记录值就是 服务器ip地址 ,确认.

66f957779dea377f6f907ccc9a38dbe9.png申请ca证书


本人是在腾讯云的SSL证书中申请的, 跑自己的项目我们购买  免费的DV SLL证书 , 有效期是一年.

08f3771f4daa5b5b991eca28203d10ad.png

de98e9d8694ecce84fc748bf9610416b.png

小伙伴们按照下图填写就行, 设置密码的话不要忘了哦.

ef34a1eff3354a9a0749ff697307eabe.png

进入下一步

我们选择 手动DNS验证 无误后点击确认申请.

a15a308cd80453488aad44681a91152b.png

解析一条主机记录值到我们的测试域名中 folio.codingce.com.cn

a641e4fdae570081ff5fd21433ce2956.png

解析完成, DNS验证有延迟, 我们先给自己的服务器安装好nginx.

c607b34f742db95e8f2b64f67dec94bb.png

下载证书

列表中找到已签发的证书,下载:

记录以下内容,为了一会儿配置nginx用:

c1cc583b5f1002bd5efd84db2e4493e1.png

下载的文件有两个:

  • 1.  1_folio.codingce.com.cn_bundle.crt
  • 2.  2_folio.codingce.com.cn.key


服务器安装,配置nginx


登录到服务器, 从 http://nginx.org/en/download.html 下载稳定版nginx-1.16.1.tar.gz到/usr/local/src下解压、安装.


配置ca证书


  • nginx的安装目录为:/usr/local/nginx. 进入目录,增加cert文件夹,把刚刚下载的两个文件上传到cert/文件夹中.
  • 进入nginx目录, 再进入config目录, 增加vhost文件夹把配置文件放入其中.
  • 说明:下面的配置是对443端口和80端口进行监听,443端口要启用ssl。监听443端口的server配置可以仿照上面ca认证页面的nginx配置示例进行配置。

folio.conf配置

server{
    listen         81;
    server_name    folio.codingce.com.cn;
    location / {
        root   /usr/mxz_project/folio/;
        index  index.html;
   }
    #把http的域名请求转成https
 rewrite ^(.*)$ https://$host$1 permanent; 
    location /logs/ {
        autoindex       off;
        deny all;
      }error_page 411 = @my_error;
}
server{
 listen 443 ssl;
    server_name folio.codingce.com.cn;
    ssl_certificate /usr/local/nginx/cert/1_folio.codingce.com.cn_bundle.crt;
    ssl_certificate_key /usr/local/nginx/cert/2_folio.codingce.com.cn.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
 #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
    ssl_prefer_server_ciphers on;
    charset utf-8;
    location / {
        root   /usr/mxz_project/folio/;
        index  index.html;
   }
 }

配置完成后,检查一下nginx配置文件是否可用,有successful表示可用。

$ nginx -t // 检查nginx配置文件

配置正确后,重新加载配置文件使配置生效:

$ nginx -s reload // 使配置生效

至此, nginx的https访问就完成了, 并且通过rewrite方式把所有http请求也转成了https请求, 更加安全.

访问效果

输入https://folio.codingce.com.cn

04d3c34ea07ab7db9623fc13e9103105.png

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
4天前
|
运维 Java 应用服务中间件
Tomcat详解(七)——Tomcat使用https配置实战
Tomcat详解(七)——Tomcat使用https配置实战
12 4
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
11天前
|
域名解析 网络协议 应用服务中间件
阿里云SSL证书配置(HTTPS证书配置)
该内容是一个关于如何在阿里云上准备和购买SSL证书,以及如何为网站启用HTTPS的步骤指南。首先,需要注册并实名认证阿里云账号,然后在SSL证书控制台选择证书类型、品牌和时长进行购买。申请证书时填写域名信息,并进行DNS验证,这包括在阿里云域名管理板块添加解析记录。完成验证后提交审核,等待证书审核通过并下载Nginx格式的证书文件。最后,将证书配置到网站服务器以启用HTTPS。整个过程涉及账户注册、实名认证、证书购买、DNS设置和证书下载及安装。
52 0
|
12天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
25 0
|
22天前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
27 3
|
11月前
|
域名解析 网络协议 算法
阿里云申请免费ssl证书(HTTPS) 保姆级教程
阿里云申请免费ssl证书(HTTPS) 保姆级教程,阿里云SSL免费证书在哪申请?一个阿里云账号一年可以申请20张免费SSL证书,很多同学找不到免费SSL的入口,阿小云来详细说下阿里云SSL证书免费申请入口链接以及免费SSL证书申请流程
370 0
|
22天前
|
前端开发 应用服务中间件 网络安全
http转为https,ssl证书安装及nginx配置
http转为https,ssl证书安装及nginx配置
36 1
|
1月前
|
弹性计算 网络安全 Apache
windows server2012服务器下PHPstudy配置ssl证书(https配置)
windows server2012服务器下PHPstudy配置ssl证书(https配置)
66 0
|
5月前
|
域名解析 存储 网络协议
七牛云创建存储空间并绑定自定义域名-https协议(申请ssl证书)
七牛云创建存储空间并绑定自定义域名-https协议(申请ssl证书)
198 0
|
7月前
|
应用服务中间件 Linux 网络安全
CentOS7自签名SSL证书并给nginx配置https
CentOS7自签名SSL证书并给nginx配置https
187 0