要想将自己的个人网站弄成https加密的该如何操作?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了要想将自己的个人网站弄成https加密的该如何操作?相关的知识,希望对你有一定的参考价值。
默认情况下,IIS使用HTTP协议以明文形式传输数据,没有采取任何加密措施,用户的重要数据很容易被窃取,如何才能保护局域网中的这些重要数据呢?下面笔者就介绍一下如何使用SSL增强IIS服务器的通信安全。一、什么是SSL
SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。
SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。
提示:SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。
二、安装证书服务
要想使用SSL安全机制功能,首先必须为Windows Server 2003系统安装证书服务。
进入“控制面板”,运行“添加或删除程序”,接着进入“Windows组件向导”对话框,勾选“证书服务”选项,点击“下一步”按钮,接着选择CA类型。这里选择“独立根CA”,点击“下一步”按钮,为自己的CA服务器取个名字,设置证书的有效期限,最后指定证书数据库和证书数据库日志的位置,就可完成证书服务的安装。
三、配置SSL网站
1.创建请求证书文件
完成了证书服务的安装后,就可以为要使用SSL安全机制的网站创建请求证书文件。点击“控制面板→管理工具”,运行“Internet 信息服务-IIS 管理器”,在管理器窗口中展开“网站”目录,右键点击要使用SSL的网站,选择“属性”选项,在网站属性对话框中切换到“目录安全性”标签页(图1),然后点击“服务器证书”按钮。在“IIS证书向导”对话框中选择“新建证书”,点击“下一步”按钮,选择“现在准备证书请求,但稍后发送”。在“名称”输入框中为该证书取名,然后在“位长”下拉列表中选择密钥的位长。接着设置证书的单位、部门、站点公用名称和地理信息,最后指定请求证书文件的保存位置。这样就完成了请求证书文件的创建。
2.申请服务器证书
完成上述设置后,还要把创建的请求证书文件提交给证书服务器。在服务器端的IE浏览器地址栏中输入“http://localhost/CertSrv/default.asp”。在“Microsoft 证书服务”欢迎窗口中点击“申请一个证书”链接,接下来在证书申请类型中点击“高级证书申请”链接,然后在高级证书申请窗口中点击“使用BASE64编码的CMC或PKCS#10....”链接,再打开刚刚生成的“certreq.txt”文件,将其中的内容复制到“保存的申请”输入框后点击“提交”按钮即可。
3.颁发服务器证书
点击“控制面板→管理工具”,运行“证书颁发机构”。在主窗口中展开树状目录,点击“挂起的申请”项(图2),找到刚才申请的证书,然后右键点击该项,选择“所有任务→颁发”。颁发成功后,点击树状目录中的“颁发的证书”项,双击刚才颁发的证书,在弹出的“证书”对话框的“详细信息”标签页中,点击“复制到文件”按钮,弹出证书导出向导,连续点击“下一步”按钮,并在“要导出的文件”对话框中指定文件名,最后点击“完成”。
4.安装服务器证书
重新进入IIS管理器的“目录安全性”标签页,点击“服务器证书”按钮,弹出“挂起的证书请求”对话框,选择“处理挂起的请求并安装证书”选项,点击“下一步”按钮,指定刚才导出的服务器证书文件的位置,接着设置SSL端口,使用默认的“443”即可,最后点击“完成”按钮。
在“目录安全性”标签页,点击安全通信栏的“编辑”按钮,勾选“要求安全通道(SSL)”选项,最后点击“确定”按钮即可启用SSL。
在完成了对SSL网站的配置后,用户只要在IE浏览器中输入“https://网站域名”就能访问该网站 参考技术A
可以直接在:Gworg申请
申请方法:
登录:Gworg(可以淘宝或者搜索引擎找到)
将需要的域名或IP发给客服,选择对应的SSL证书类型。
按照认证要求,完成DNS解析认证。
几分钟后邮箱收到SSL证书,点击下载到桌面。
将SSL证书配置到服务器,安装方法可以根据Gworg技术文档操作。
实现HTTPS加密,完成。
获得SSL证书:按照以上方法申请完毕后,登录邮箱获得SSL证书证书。
要想网站实现https加密访问,安装SSL证书就可以了。SSL证书申请流程:
第一步:将CSR提交到代理商
CSR(Certificate Signing Request)文件必须由用户自己生成,也可以利用在线CSR生成工具。选择要申请的产品,提交一个新的订单,并将制作好的CSR文件提交。
第二步 资料提交到CA
当收到您的订单和CSR后,如果是域名验证型证书(DV SSL证书),在域名验证之后10分钟左右就可颁发证书,若是其他类型证书则是需要通过CA机构进行验证之后才可颁发。
第三步 发送验证邮件到管理员邮箱
权威CA机构获得资料后,将发送一封确认信到管理员邮箱,信中将包含一个 对应的链接过去。每一个订单,都有一个唯一的PIN以做验证用。
第四步 邮件验证
点击确认信中的链接,可以访问到CA机构验证网站,在验证网站,可以看到该订单的申请资料,然后点击”I Approve”完成邮件验证。
第五步 颁发证书
在用户完成邮件验证之后,CA机构会将证书通过邮件方式发送到申请人自己的邮箱,当用户收到证书后直接安装就可以了。若安装存在问题,我们是提供免费证书安装服务的。
参考技术C 凤仙改编自原著同名篇章。免费将自己的网站升级成HTTPS
免费将自己的网站升级成HTTPS
我们知道HTTPS的好处很多,比如通信方式是加密的安全的。随便打开访问一个大厂的网站,你会发现他们都是htpps。比如我们的CSDN。那么我们如何将自己的Web网站也变成HTTPS呢?
我们知道HTTPS区别于HTTP,是因为HTTPS在HTTP的基础上增加了SSL协议。那么开始吧,兄弟们。
1、申请免费的SSL证书
很多代理机构都有申请证书的功能,比如我们最熟悉的阿里云、UCloud。这里以阿里云为例,因为UCloud需要公司的信息。我们以个人名义申请。
首先打开我上面的阿里云连接,选择免费的DV单域名证书,如下图:
免费的SSL证书的缺陷就是单域名即一张SSL证书只能绑定一个二级域名。而且每一年得申请一次证书。不过对我们个人开发者而言,完全够用了。
2、登录你的阿里云账号
必须登录,不登陆怎么买?不多解释。
3、创建证书
在SSL证书控制台,选择免费证书->创建证书20/20。我这里之前使用过一个,所以是19。
创建完成之后,会创建一个证书实例,点击证书申请
4、证书申请
点击完成之后,会在右侧生成弹窗。
- 1、输入你的二级域名
- 2、如果你可以登录你的域名管理控制台,可以选择手工DNS验证,因为下一步将生成验证信息,需要你在域名控制台的域名解析里,将信息配置在里面。作为个人开发者,你肯定可以登录的吧;如果你真没有,那么你就选文件验证吧。
- 输入你的个人信息。
- 输入你的所在地。
- CSR的生成方式,你也看到提示了。如果你没有要求,就系统生成,如果你真的需要自己的,就手动填写。
点击下一步。
出现了DNS解析配置,上一步我已经说了,如果你有域名管理控制台的权限,那么就手工DNS验证。那么接下来就需要配置DNS解析记录。
5、配置DNS解析记录
我的域名是在UCloud购买的,所以这里以UCloud为例。
点击解析。在新页面点击右上角的添加记录。
这里填写阿里云生成的信息。前为阿里云,后为Ucloud
- 域名授权验证类型=记录类型
- 主机记录 = 主机记录(注意:这里不是写你绑定的二级域名,而是阿里云生成的信息,这是验证通道。)
- 记录值=记录值
这个信息可以在SSL证书颁布完毕之后删除。
6、验证DNS
在阿里云,第三步验证DNS是否正确下,点击验证。如果你在UCloud配置的DNS解析记录正确,会提示验证成功,那么你就可以点击提交审核,等待审核了。
7、等待审核
审核很快,也就几分钟的样子,耐心等待一下吧!
8、下载证书
如果你是阿里云的服务器,可以点击部署,自动化完成部署,因为我这里不是阿里云的,所以只能点击下载。
下载的时候,因为的我Web服务是通过nginx转发的,所以这里我们下载nginx的证书。
下载完,解压之后会有两个文件,一个pom文件一个key文件。
9、上传证书
将这两个文件上传至你的服务器上的任意文件夹内,最好上传至你的nginx的文件夹下,一是以后你知道这两个文件在哪,二是你知道这两个文件用来干嘛。如果你随便一扔,时间长了,估计就会忘了。
我这里上传至/etc/nginx/cert。
10 、配置nginx
①、新增443端口
因为443端口就是主要是用于HTTPS服务。nginx的配置如下:
server {
listen 443;
server_name www.xxx.com;
ssl on;
ssl_certificate /etc/nginx/cert/xxx.com.pem;
ssl_certificate_key /etc/nginx/cert/xxx.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
- 将server_name换成你自己的二级域名。
- ssl_certificate换成你自己的从阿里云下载的pom文件
- ssl_certificate_key 换成你自己的从阿里云下载的key文件
②、将从http进来的转发到https
比如你的网站是80端口,只需要加入rewrite ^(.*)$ https://$host$1;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.xxx.com;
gzip on;
rewrite ^(.*)$ https://$host$1;
}
③、重启nginx
11、开放443端口
如果你是云服务器,都有更换外网防火墙的配置,如果你是实体服务器,直接将端口放行就行了。这个是基本操作,可以网上查一下,不过多介绍。
12、测试
打开我们的网站,成功的变成了https,哈哈,大功告成,如果你也想搭建我这个博客,可以参考我的文章手把手教你搭建自己的博客
写在最后
- [1] 微信公众号: 码农share
- [2] 掘金
以上是关于要想将自己的个人网站弄成https加密的该如何操作?的主要内容,如果未能解决你的问题,请参考以下文章