转自《https安全链接的配置教程:startSSl免费证书申请与nginx的https支持配置》
一、什么是 SSL 证书,什么是 HTTPS 网站?
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。
二、什么网站需要 SSL 证书?
就我遇到过的网站,配置了认证的证书的,大概有这么几类:
1、购物交易类网站
这个就不用说了,支付宝、财付通等肯定会加密以保护你的密码安全。
2、注册类站点
有些大站点,注册会员或者登陆的时候,会专门通过SSL通道,来保护你的密码安全。比如百度会员中心登录的数据传输通道
三、免费证书startssl申请
startSSL官方地址https://www.startssl.com/,稍微介绍下startSSL:它是一个证书颁发机构,支持免费的ssl证书颁发,相比于只是为了学习ssl安全链接的程序猿们不再需要花上一年好几K的证书费用,当然你也可以在startSSL花上$200左右购买一个付费的高等级ssl证书(毕竟人家给你免费的浏览器可识别的ssl证书也只会有一年而已);startSSL的ssl证书从一开始就被一些具有开源背景的firefox、chrome等支持,目前已经测试的支持的浏览器如下:ie、firefox、chrome、safari,据说opera还不支持,就连startssl官方站都无法支持,不知为何~~~~原先startssl是不支持ie的,但是不知startssl官方是怎么搞定微软的,现在ie也支持了startssl的ssl证书。废话少说,上图说注册startssl获取一年免费ssl证书的步骤:
3.1 startssl注册

进入startssl官方站,点击右上角那把小锁,上图,打开页面如下:

点击Sign-up进行注册,打开页面如下:

填写就不多说了,第一栏是名字,使用英文更好一点,第二栏是地址,最好精确到街道以及门牌号,第三列是邮政编码以及所在城市的简称(咱搞了个所在城市的拼音,还是通过了嘛,哈哈);第四列是所在国家,默认china无需更改,第五列选择所在省份,最好选择跟你的ip地址所在地是一致的;第六列是你的手机号或者座机号,这年头手机泛滥,填个自己的手机号得到一个免费的一年的ssl证书也无可厚非;第七列需要注意下方的说明,startssl不支持qq.com的邮箱,也就是说你填写的电子邮箱的时候不要用qq邮箱,国内的经过测试163、sina、yahoo.cn均可,最好使用gmail。

填写准确,点解continue(继续)来到邮箱验证,打开刚刚填写的邮箱,有一封来至starssl的注册邮件,里面有验证码:如下,邮件正文中的第二行”code is ****“的,那个is后面的就是这个验证码,复制,填入到上图中,点击continue继续,注册即告成功(下图2),接下来等待startssl的人工审核,审核通过后会发一封邮件给你,这里用我已经注册成功的邮件为例说明:


3.2 登录账号的激活
上述startssl人工审核通过后发给你的邮件(如下图1),打开后有一个有个链接,复制到浏览器地址栏回车打开的地址就进行账号的证书<非你申请的ssl证书,这里只是一个账户登录证书,就跟国内某些银行的登录可以使用证书登录一样>安装,startssl不通过账号密码方式登录,而只支持通过他们自己的证书方式登录,所以这里打开的页面实际上是一个你的账号证书的安装页面(一个连接地址)以及一个验证码,这里最好使用firefox或者chrome,有时候ie会安装失败,一旦失败就意味着你得重新注册.

大致说下操作:复制邮件(上图)第四行的url地址,粘贴到firefox地址栏中回车,打开的页面中有个输入框,输入上图邮件中第五列中的process is后面的字符串,点击继续出现如下页面,如下图,选择默认的高级即可,点击continue继续

继续后来到安装你的账号证书的页面,点击install,如下图:

经过一会(一般不超过3分钟)就可以出现如下界面:说明你的账号证书已经安装成功啦~~~~备份一下这个证书咯,以后就可以用这个证书到别处登录了,如果不慎丢失这个证书,以后就只能重新注册咯~~~~

注册成功后,点击finish来到控制面板,如下图:

3.3 添加并验证域名所有者信息
添加你的域名,点击上图右侧那个菜单,也就是”Validations Wizard“咯,打开的页面如下:选择域名验证,也就是 Domain Name XX咯,如下图,自动进入下一步填写域名

来到填写域名的位置,如下图:

输入你的域名,选择后缀,继续打开验证方式选择,如下图,选择你的域名注册时留下的邮箱地址即可,当然如果你的域名下有相应的邮箱地址也是可以的(如果挂在QQ域名邮箱下就算了,你还是老老实实的选择注册域名时填写的邮箱吧~~~哈哈).....点击continue继续下一步

打开刚才选择的邮箱,会收到一封验证码邮件,如下,复制验证码,输入到框框内点击继续(不慎,没有留下截图,不过还好,也就是一个输入验证码的框框),来到下图2,点击finish即可完成域名的所有者认证:


3.4 激动人心的时刻来了,申请免费一年的ssl证书
上一步finish后又来到控制面板,如下图:点击中间那个菜单,也就是”Certificates Wizard“咯~~~~

打开的页面如下:选择web server SSL/TSl Certificate 也就是传说中的支持https访问的ssl证书,点击continue继续..

生成公匙,也就是https中的.key文件,如下图:

输入一个长度合适的密码并重复<第二栏重复密码>,最好超过16位,而且字母、数字混杂(请记住这个密码,稍后还会用,这里就菜鸟的叫法把这个密码叫做 证书密码 ,以后提到证书密码,就是指这个密码咯,以后不再赘述),第三栏选择加密强度以及第四栏的加密算法,这里全部选默认。点击continue继续--------------<ps:这里生成的也就是一个公用密码文本,如果你懂得使用openssl自己生成,这里就可以选择skip跳过,当然既然按咱这个教程,就老老实实输入一个密码并且重复一次,然后continue,多 保险咧~~~哈哈>,点击后会有一个弹窗,确认即可(好像是左边那个按钮,哈哈)
来到如下页面:也就是刚才用密码生成的一个key文件, 请复制框框内的文本<安全起见,告诉你怎么整,先鼠标点入框框内,然后全选,什么?不知道全选?Ctrl+a啊~,再复制,什么?不知道复制?Ctrl+c啊;当然你也可以Ctrl+x剪切掉> ,然后将复制的内容是用文本编辑器粘贴<记事本会用吧~~~>,保存文件名为ssl.key<一定要这个破名字吗?不一定啊,但是为了后面的nginx的配置好讲解一点,咱就忍忍吧~~~>,点击continue继续

来到如下页面:选择已经认证过的域名啦~~~~~如下:直接continue继续

来到,你需要为你的域名下的哪个主机添加https访问的位置,这里就看你自己的配置啦!~这列示例填写一个www主机,也就是在框框内填入www啦~~~~点击continue继续.....

来到如下界面,没啥好说的,直接continue继续......

可能需要等待几十秒,startSSl正在后台生产crt文件呢~~你总得让人家的服务器有个喘息的机会吧~~~~等来的就是如下的页面<ps:以前startssl在此步骤后需要人工审核后再给你发送邮件以及code进行证书提取,但是现在好像直接是一气呵成了,反正我这里的示例是一气呵成,直接就将crt证书给你生成了~~~~>

复制这个框框里的文本,还是用个文本编辑器粘贴保存为ssl.crt文件<操作方法跟前面保存那个破名字叫ssl.key的一样,就不啰嗦了>......
以上的的所有步骤不过是为了得到两个破东西,一个是ssl.key<这个如果你懂得openssl,自己就可以搞定>,一个是ssl.crt文件,这个ssl.crt文件才是王道,才是以上废了这么多精力所得到的ssl证书文件。好了,接着说nginx下的配置使你的服务器支持https的访问。
四、nginx的配置(linux平台)
为了便于说明,咱来个约定:
约定:假设你的nginx安装在/usr/local/server/nginx下,配置文件默认,也就是/usr/local/server/nginx/conf下。同时假设你的服务器已经支持openssl
假设在你的/usr/local/server/nginx/conf下有个文件夹叫ssl,也就是/usr/local/server/nginx/conf/ssl咯
4.1 上传那两个破文件也就是ssl.key和ssl.crt文件咯---可以用一个叫SSH Secure Shell的玩意中的Secure File Transfer Client来上传;上传这个两个文件到/usr/local/server/nginx/conf/ssl下
其实,人家startssl有个教程 地址:https://www.startssl.com/?app=42,但是还是啰嗦的讲解一下~~
4.2 既然是ssl关键文件,那就保护一下啦~~ 修改ssl.key文件的属性即可,什么不会?
putty远程登录服务器,最好是root账户
进入/usr/local/server/nginx/conf/ssl目录,什么?不会?
shell代码:cd /usr/local/server/nginx/conf/ssl
更改ssl.key文件属性
shell代码:chmod 600 ssl.key
4.3 安装ssl.key
通过openssl安装导入,以后启动nginx时就不必每次都需要输入那个破“证书密码”了,什么?哪里来的“证书密码”,看前面申请这个破ssl.key时的约定吧!openssl导入证书公用密码<实际上人家叫公匙啦~~~>,还是在/usr/local/server/nginx/conf/ssl目录下:
shell代码:openssl rsa -in ssl.key -out /usr/local/server/nginx/conf/ssl_ca.key
4.4 获取startssl根证书并合并你自己的证书
获取startssl官方的根证书<暂且就这么叫吧~~~其实人家不叫这个的,没看到是个pem文件嘛~~>,wget获取
shell代码:
wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
合并:
shell代码:cat ssl.crt sub.class1.server.ca.pem ca.pem > /usr/local/server/nginx/conf/ssl_ca.crt
ps:处理下生成的这个ssl_ca.crt文件,不然以后就不是坑爹了,而是坑祖宗了·~~~
也就是会出现如下错误:

处理方法很简单,直接vi /usr/local/server/nginx/conf/ssl_ca.crt
找到如下图的位置:

在绿色那个地方回车一下然后保存即可。什么回车了无效?vi的使用就不告诉你了,这是秘密~~~~
4.5 配置nginx支持https访问
配置nginx的配置文件,默认是vi /usr/local/server/nginx/conf/nginx.conf 这里确实是不好说,直接上图:看不清楚就点小图看大图咯~~~

---
转载请注明本文标题和链接:《https安全链接的配置教程:startSSl免费证书申请与nginx的https支持配置》
转自《https安全链接的配置教程:startSSl免费证书申请与nginx的https支持配置》的更多相关文章
- SSL免费证书申请以及nginx配置https流程记录
设置https需要ssl 证书,可以通过FreeSSL[https://freessl.org/]申请. 流程记录: 输入域名,如 http://www.youdias.xin 选择品牌,如Let's ...
- HTTPS(SSL / TLS)免费证书申请及网站证书部署实战总结
服务器环境:windows server 2008 + tomcat7 废话不多说,先看部署效果: 一.免费证书申请 Let's Encrypt 简介:let's Encrypt 是一个免费的开 ...
- Let's Encrypt 安装配置教程,免费的 SSL 证书
官网:https://letsencrypt.org/ 安装Let's Encrypt 安装非常简单直接克隆就可以了 git clone https://github.com/letsencrypt/ ...
- 七牛云域名DV SSL证书申请流程以及CDN融合加速配置
从2017年起,苹果ios以及微信小程序都陆续要求请求连接request地址是使用HTTPS协议的.所以在项目开发阶段就要考虑解决https的问题,同时这也是为项目实际安全所考虑.最近我也是在折腾项目 ...
- HTTPS上线过程说明(阿里云提供免费证书)
一.上马HTTPS的原因: ①.苹果App Store强制其平台上的app均要使用HTTPS ②.网站经常被劫持,用户和领导希望使用HTTPS ③.跟随HTTPS的大趋势 二.应用上马HTTPS之部门 ...
- Nginx 实现 HTTPS(基于 Let's Encrypt 的免费证书)
SSL / TLS加密会为您的用户带来更高的搜索排名和更好的安全性. Let’s Encrypt 是一个认证机构(CA).它可以提供免费证书,并且已经被大多数浏览器所信任.另外,通过工具 Certbo ...
- https免费证书申请certbot,nginx
官网:https://certbot.eff.org/ 下载: wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto ./certbo ...
- nginx伪静态配置教程总结
在nginx中配置伪静态,也就是常说的url重写功能,只需在nginx.conf配置文件中写入重写规则即可. 当然,这个规则是需要熟悉正则表达式,只掌握nginx自身的正则匹配模式即可,对正则不了解的 ...
- nginx实现https网站设置
一.HTTPS简介 1.https简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密, ...
随机推荐
- Node操作MongoDB并与express结合实现图书管理系统
Node操作MongoDB数据库 原文链接:http://www.xingxin.me/ Web应用离不开数据库的操作,我们将陆续了解Node操作MongoDB与MySQL这是两个具有代表性的数据库, ...
- bzoj1758Wc10重建计划——solution
1758: [Wc2010]重建计划 Time Limit: 40 Sec Memory Limit: 162 MBSubmit: 4707 Solved: 1200[Submit][Status ...
- [基础知识]row类visible使用
使用row的visibe属性,要反向遍历rowset,因为如果正向遍历,rowset是实时变化的,行号是错误的.正确代码如下: Local integer &k; For &k = & ...
- vs中nuget命令的用法
一.安装 1.安装指定版本类库install-package <程序包名> -version <版本号> ( 注意:-version <版本号> 可以 ...
- autocad.net-图片打印合成
调用打印程序“PublishToWeb JPG.pc3”进行图片打印,该打印驱动程序中内置了很多的打印方案,在同尺寸的打印方案下,数据范围越大打印出来的清晰度就越差,内置的尺寸不一定都满足,在又要通过 ...
- ubuntu更新下载源问题
Q1:ubuntu14.04系统安装完之后无法跟新并安装插件 cd /var/lib/apt/lists sudo rm * -rf sudo apt-get clean;sudo apt-get u ...
- 第二篇 windows container 微软的原生容器
先上图,显示windows container的体积: 以下是我使用docker pull 命令下载后,又用命令保存到本地的,相对于linux container体积依然巨大无比:据官方新闻,微软原生 ...
- CSS揭秘(二)背景与边框
Chapter2 背景与边框 1. 半透明边框 基础:了解 RGBA & HSLA 颜色(色调 0~360.饱和度.亮度 (0%黑色~100%白色).透明度) 默认情况下,背景在边框的下层,容 ...
- 分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法
分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法 客户的环境:SQLSERVER2005,WINDOWS2003 SP2 32位 这次发生连接超时的时间是2013-8-5 21: ...
- Oracle EBS INV 创建物料搬运单头
CREATE OR REPLACE PROCEDURE XX_CreateMoveOrderHeader AS -- Common Declarations l_api_version NUMBER ...