nginx配置ssl证书实现https

前言

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

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

已配置

已配置证书的git

未配置证书

个人简历网站就没有证书(github pages), 因此搜索栏会显示不安全, 影响访问量.github

环境

  • 服务器系统: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领取,更多内容陆续奉上。

以上,即是今天的分享,但愿你们喜欢,以为内容不错的,欢迎「分享」「」或者点击「在看」支持,谢谢各位。

 

本文分享自微信公众号 - 掌上编程(ThePalmJava)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索