nginx配置ssl证书实现https

时间:2022-07-23
本文章向大家介绍nginx配置ssl证书实现https,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言

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

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

已配置

已配置证书的

未配置证书

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

环境

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

域名解析到服务器

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

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

申请ca证书

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

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

进入下一步

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

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

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

下载证书

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

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

下载的文件有两个:

  • 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

更多推荐内容

↓↓↓

SQL 语句大全

垃圾代码书写准则

自定义你的github主页

Lambda表达式入门,看这篇就够了!

优秀的 Java 项目,代码都是如何分层的?

谈谈几个 Spring Cloud 常见面试题及答案

StringBuider 在什么条件下、如何使用效率更高?

21张让你代码能力突飞猛进的速查表(神经网络、线性代数、可视化等)

一文讲懂什么是vlan、三层交换机、网关、DNS、子网掩码、MAC地址

掌上博客

如果你喜欢本文

请长按二维码,关注掌上编程

转发朋友圈,是对我最大的支持哟

最近整理一份面试资料《Java技术栈学习手册》,覆盖了Java技术、面试题精选、Spring全家桶、Nginx、SSM、微服务、数据库、数据结构、架构等等。获取方式:点“ 在看,关注公众号掌上编程并回复666领取,更多内容陆续奉上。

以上,便是今天的分享,希望大家喜欢,觉得内容不错的,欢迎「分享」「赞」或者点击「在看」支持,谢谢各位。