如何在Web服务器上设置SSL?
采用SSL实现加密传输(1) 在默认情况下,IIS使用HTTP协议以明文形式传输数据,Web Service就是使用HTTP协议进行数据传输的。Web Service传输的数据是XML格式的明文。没有采取任何加密措施,用户的重要数据很容易被窃取,如何才能保护网络中传递的这些重要数据呢 SSL(Security Socket Layer)的中文全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。 SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。 注意SSL网站不同于一般的Web站点,它使用的是"HTTPS"协议,而不是普通的"HTTP"协议。因此它的URL(统一资源定位器)格式为"https://网站域名"。 下面讲解如何使用SSL来增强IIS服务器和Web Service的通信安全。 实现步骤如下。 1.为服务器安装证书服务 要想使用SSL安全机制功能,首先必须为Windows Server 2003系统安装证书服务。进入"控制面板",运行"添加或删除程序",接着进入"Windows组件向导"对话框,如图7-13所示。 图7-13 Windows组件向导 勾选"证书服务"选项,单击"下一步"按钮。 接着选择CA类型。这里选择"独立根CA"选项,如图7-14所示。单击"下一步"按钮,为自己的CA服务器起名,并设置证书的有效期限,如图7-15所示。 图7-14 选择CA类型 图7-15 设置CA信息 最后指定证书数据库和证书数据库日志的位置,如图7-16所示,单击"下一步"按钮。 图7-16 指定证书数据库 因为需要复制系统文件,所以需要插入Windows的安装光盘,如图7-17所示。安装证书服务需要停止当前的IIS运行,所以要单击"是"按钮。 图7-17 复制系统文件 最后,显示完成了证书服务的安装,单击"完成"按钮,如图7-18所示。 图7-18 安装完成 792 采用SSL实现加密传输(2) 2.配置SSL网站 1)创建请求证书文件 要想让Web Service使用SSL安全机制,首先需将Web Service配置为网站。然后为该网站创建请求证书文件。 依次单击"控制面板"→"管理工具"按钮,运行"Internet 信息服务(IIS)管理器",在管理器窗口中展开"网站"目录,用鼠标右键单击要使用SSL的Web Service网站,在弹出的快捷菜单中选择"属性"命令,在网站属性对话框中切换到"目录安全性"选项卡,如图7-19所示, 图7-19 网站属性 然后单击"服务器证书"按钮,弹出"IIS证书向导"对话框。 在"IIS证书向导"对话框中选择"新建证书"选项,单击"下一步"按钮,如图7-20所示。 图7-20 服务器证书 选择"现在准备证书请求,但稍后发送"选项。单击"下一步"按钮,如图7-21所示。 图7-21 证书向导 在"名称"输入框中为该证书取名,然后在"位长"下拉列表中选择密钥的位长(默认为1024,长度越长保密性越好,但性能会越差)。单击"下一步"按钮,如图7-22所示。 图7-22 设置证书名称 设置单位信息,如图7-23所示,然后单击"下一步"按钮。设置公共名称,如图7-24所示。 图7-23 设置单位信息 图7-24 设置公共名称 注意 公共名称必须输入为访问站点的域名,例如要想用地址 https://wwwmaticsoftcom 访问Web Service,则此处必须填写为" wwwmaticsoftcom ",否则将提示使用了不安全的证书,导致站点无法访问。并且切记, wwwmaticsoftcom 和 wwwmaticsoftcom:8001 带端口的访问也是不同的,如果设置的是 wwwmaticsoftcom ,则网站设置为 wwwmaticsoftcom:8001 来访问也是无法使用的。 然后,单击"下一步"按钮,设置国家地区,如图7-25所示。 图7-25 设置国家地区 设置证书的单位、部门、站点公用名称和地理信息,一路单击"下一步"按钮。 最后指定请求证书文件的保存位置。这样就完成了请求证书文件的创建。 792 采用SSL实现加密传输(3) 2)申请服务器证书 完成上述设置后,还要把创建的请求证书文件提交给证书服务器。 在服务器端的IE浏览器地址栏中输入"http://localhost/CertSrv/defaultasp"。 在"Microsoft 证书服务"欢迎窗口中单击"申请一个证书"链接,如图7-26所示。 接下来在证书申请类型中单击"高级证书申请"链接,如图7-27所示。 图7-26 申请证书 图7-27 选择证书类型 然后在高级证书申请窗口中单击"使用base64编码的CMC或PKCS#10……"链接,如图7-28所示。 图7-28 选择编码 接下来在新打开的窗口中,打开刚刚生成的"certreqtxt"文件,将其中的内容复制到"保存的申请"中,如图7-29所示。 图7-29 提交证书申请 单击"提交"按钮,显示"证书挂起"页面,如图7-30所示。 图7-30 证书挂起 792 采用SSL实现加密传输(4) 3)颁发服务器证书 提交证书申请以后,还需要颁发服务器证书。依次选择"开始"→"设置"→"控制面板",双击"管理工具",再双击"证书颁发机构",在打开的对话框中选择"挂起的申请"选项,如图7-31所示。 (大图)图7-31 挂起的申请 找到刚才申请的证书,然后用鼠标右键单击该项,在弹出的快捷菜单中选择"所有任务"→"颁发"命令,如图7-32所示。 颁发成功后,选择"颁发的证书"选项,双击刚才颁发的证书,在弹出的"证书"对话框中的"详细信息"标签页中,单击"复制到文件"按钮,如图7-33所示。 图7-32 颁发证书 图7-33 复制到文件 弹出"证书导出向导"对话框,连续单击"下一步"按钮,选择"Base64编码X509"选项,如图7-34所示。 (大图)图7-34 选择导出文件格式 单击"下一步"按钮,并在"要导出的文件"对话框中指定文件名,最后单击"完成"按钮。 4)安装Web服务器证书 重新进入IIS管理器的"目录安全性"标签页,单击"服务器证书"按钮,弹出"挂起的证书请求"对话框,选择"处理挂起的请求并安装证书"选项,单击"下一步"按钮,如图7-35所示。 (大图)图7-35 处理挂起的证书 指定刚才导出的服务器证书文件的位置,如图7-36所示。 (大图)图7-36 选择导出位置 接着设置SSL端口,使用默认的"443"即可,最后单击"完成"按钮。 792 采用SSL实现加密传输(5) 5)配置网站启用SSL通道 在网站属性"目录安全性"标签页中单击安全通信栏的"编辑"按钮,然后,勾选"要求安全通道(SSL)"选项,如图7-37所示。 (大图)图7-37 启用网站SSL通道 忽略客户端证书:选择该选项可以允许用户不必提供客户端证书就可访问该站点。 接受客户端证书:选择该选项可以允许具有客户端证书的用户进行访问,证书不是必需的。具有客户端证书的用户可以被映射;没有客户端证书的用户可以使用其他身份验证方法。 要求客户端证书:选择该选项则仅允许具有有效客户端证书的用户进行连接。没有有效客户端证书的用户被拒绝访问该站点。选择该选项从而在要求客户端证书前,必须选择"要求安全通道(SSL)"选项。 最后单击"确定"按钮,即完成启用SSL了。在完成了对SSL网站的配置后,用户只要在IE浏览器中输入"https://网站域名"就能访问该网站。 注意 勾选上SSL后,必须用HTTPS来访问,而访问网站的端口也会使用SSL端口,默认为443。 如果在你访问站点的过程中出现无法正常访问的情况,那么请检查服务器防火墙是否禁止对SSl端口443的访问,这点比较容易被忽视,当然你也可以自己修改端口。 如果还是不能访问,出现提示"你试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序。HTTP错误4031-禁止访问:执行访问被拒绝。"那么请检查网站主目录的执行权限,将执行权限设置为纯脚本即可,如图7-38所示。 图7-38 设置执行权限 6)客户端安装证书 如果IIS服务器设置了"要求客户端证书",则其他机器或用户想通过HTTPS访问和调用该Web服务,就需要将CA的根证书导入到客户端证书的可信任机构中,客户端才可以正常访问Web服务。 (1)选择"开始"→"运行"命令,在弹出的对话框中输入"mmc",出现如图7-39所示的界面。 图7-39 启动控制台 (2)选择"文件"→"添加/删除管理单元"命令,出现如图7-40所示的界面。 图7-40 添加/删除管理单元 (3)单击"添加"按钮,在可用独立管理单元列表中选择"证书"选项,出现如图7-41所示的界面。 (4)选择"计算机账户"选项,单击"下一步"按钮,选择"本地计算机"选项,然后依次单击"完成"→"关闭"→"确定"按钮。 图7-41 添加证书管理单元 进入当前用户的证书管理单元,界面如图7-42所示。 (大图)图7-42 选择证书导入位置 选中"个人"下的"证书节点"选项,单击鼠标右键,在弹出的快捷菜单中选择"所有任务"→"导入"命令,如图7-43所示。 (大图)图7-43 导入证书 选择我们刚才颁发的服务器证书certcer,将其导入到个人的存储位置,导入后如图7-44所示。 (大图)图7-44 导入到证书 7)SSL的优点与缺点 优点:它对Web服务提供的数据完整性没有任何影响,当值返回给客户时,值还是保持原样,并没有因在传输过程中使用了加密技术而发生变化。 缺点:它对站点的整体性能有影响,因为它需要进行很多加解密的数据处理。 0 0 0 (请您对文章做出评价)
网站开启https有助于提高数据传输的安全性,那么如果你们现在使用的网站域名是在阿里云注册的,服务器也是在阿里云买的,那么就可以考虑申请一个阿里云免费htpps证书并且直接进行安装。下面就让我来告诉大家阿里云免费htpps证书怎么安装吧。
阿里云免费https证书安装方法首先登陆阿里云管理控制台,并且点击控制台左侧的域名菜单进入我们购买的域名列表中。
在域名列表中选择我们要设置https的域名,并点击操作选项中的SSL证书进入申请证书页面。
在申请证书页面,我们点击单域名免费证书,然后在下方输入需要设置网站https的二级域名,这边一般是使用3w的,然后点击确定。
确定后就会进入审核中了,这里我们就需要等待审核通过了,一般很快的。
过一会儿我们通过管理控制台左侧的安全(云盾)下的CA证书服务就可以看到我们上面申请的SSL证书已经签发了,这时候我们点击右侧的下载证书功能进入具体的下载页面。
在证书下载页面大家选择自己服务器的类型下载对应的证书,我的服务器是nginx和Apache都可以用的,所以这里我就选择nginx后下载证书。
接下来我们就需要登陆我们的服务器了,这个大家自行登陆,然后找到Nginx的安装目录,按阿里云上的说明在Nginx的安装目录下创建cert目录。然后将前面我们下载的证书上传到这个cert目录下。
上传完成后我们再回到Nginx的安装目录,进入conf目录,找到nginxconf文件,编辑这个文件按上面证书下载页面的提示进行代码的修改。
修改完成后重启下服务就可以了,接下来我们访问我们的网站就可以看到https已经生效了。
0条评论