要想将自己的个人网站弄成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证书证书。

参考技术B

要想网站实现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加密的该如何操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决网站被恶意劫持?

https如何进行加密传输

微信小程序怎么弄成二维码?

如何给网站免费添加Https加密

https加密是如何进行的?

自己搭建CA颁发证书做https加密网站