搜索

当前位置:首页 > 技术教程 > 正文

win2008服务器如何部署ssl

发布时间:2018-05-11 01:31:08作者:魏义齐阅读:()

本文为博主原创文章,未经博主允许不得转载。

全网最新、最全、最详细的教程,没有之一。本文将分为两个部分来讲述win2008服务器如何部署ssl。

在讲之前,大家先看看我有多无赖吧

三个工单里,我一共提了12个问题,在西部数码这是收费的,不管你有没有买服务,金牌服务也要收100块钱。一直提交免费工单我也不好意思,但是自己不搞明白,以后部署ssl还付费吗?就这样,我在西部数码技术客服一点一点提示下,完成了单站点和多站点部署ssl,西部数码之所以收费,就是因为这个相对技术含量高,他们可以借此赚取服务费,可想而知部署ssl并不是一件容易的事。

废话不多说开始:

一、单站点部署ssl

(1)、导入证书与站点绑定

从证书购买处下载证书,例如

单站点部署其实就是直接在IIS上部署,所以下载PKCS12格式的证书,下载下来的证书文件后缀是pfx。

打开IIS管理器(桌面上一般有快捷方式,没有不知道从哪打开的百度一下)→点击计算机名称→双击服务器证书

点击右侧的导入


选择你的.pfx文件,密码填写你申请证书时设置的密码,完事点确定,可以看到服务器证书列表里面有你的证书了。

接下来在左侧点网站,在你的网站列表上点一下,在右边点绑定,点添加

类型选https,ssl证书选你的证书,其它的如ip地址分配、主机名都不用操作,然后点确定,点关闭。此时右侧浏览网站里面会出现

到此导入证书与站点绑定完成。

(2)、放行443端口

证书导入完成与站点绑定成功后,用https访问试一下,如果打不开,用工具测试一下443端口是不是通着,如果不通,接下来要做的就是放行443端口了。

步骤:开始→控制面板→windows防火墙→高级设置→入站规则→新建规则→选端口→下一步→输入443端口→下一步→下一步→名称最好写你打开的端口的名称,方便寻找→点完成,这时入站规则列表里已有443端口了

再次访问https链接发现可以打开网页了,但是访问http并不会跳转到https,这就是接下来要做的跳转。

(3)、访问http跳转到https

新建一个web.config文件(用记事本建改一下后缀就行了),里面放下面这些代码
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <configuration> 
  3.  <system.webServer> 
  4.         <rewrite> 
  5.             <rules> 
  6.                <rule name="301" stopProcessing="true"> 
  7.                     <match url="^(.*)$" ignoreCase="false" /> 
  8.                     <conditions logicalGrouping="MatchAll">                        
  9.                          <add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" />   
  10.                          <!-- <add input="{HTTPS}" pattern="^on$" negate="true" /> -->  # 非亚数机房用这一行替换上一行规则 
  11.                     </conditions> 
  12.                     <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />      # www.abc.com对应修改为您自已的域名 
  13.                </rule> 
  14.             </rules> 
  15.         </rewrite> 
  16.     </system.webServer>  
  17. </configuration>
如果是国内的机房需要把<add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" />替换为<add input="{HTTPS}" pattern="^on$" negate="true" />

再测试跳转正常。

二、多站点部署ssl

(1)安装nginx+iis7反向代理环境和证书

由于IIS7不支持多站点部署https,可以使用nginx+iis7反向代理的方式来实现。

首先要保证站点已经建立并绑定域名可以正常访问。

下载脚本win-ssl.bat(通过web面板可视化部署ssl),具体操作请访问https://www.west.cn/faq/list.asp?unid=1450,在我截图的部分下载脚本

注意:这个链接一定要复制到服务器里面的浏览器里打开下载相关内容,不然下载的文件会被浏览器或360网站卫士误判为不安全软件,这样复制到服务器可能就不完整了。如果服务器里的浏览器提示危险文件,允许运行就行了。

下载之后运行会出现如下窗口:

输入1回车安装环境,完成后输入3回车会提示输入域名,先不要输入域名,下载证书,注意此时要下载PEM格式的

下载下来解压后文件夹里有三个文件,.cer、.key和.crt格式的,把这三个文件放到网站根目录(是根目录不是二级目录)

此时再输入域名,回车,需要等待5~6秒时间,安装完成后会有提示。

此处大家需要注意个问题:一个站点部署完成后,如果关闭了窗口,再部署另一个站点,运行win-ssl.bat程序后不要再输入1回车,这样会重复安装iis+nginx反向代理环境,直接输入3回车就行了,继续部署其它站点的ssl。

(2)http到https的301跳转

新建一个web.config文件,里面如下内容
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <configuration> 
  3.  <system.webServer> 
  4.         <rewrite> 
  5.             <rules> 
  6.                <rule name="301" stopProcessing="true"> 
  7.                     <match url="^(.*)$" ignoreCase="false" /> 
  8.                     <conditions logicalGrouping="MatchAll"> 
  9.                         <add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" /> 
  10.                     </conditions> 
  11.                     <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />     #www.abc.com对应修改为您自已的域名 
  12.                </rule> 
  13.             </rules> 
  14.         </rewrite> 
  15.     </system.webServer>  
  16. </configuration>
放置到网站根目录,测试输入http链接跳转到https链接成功。

请严格按本教程操作,不要受其它教程干扰。

写文章时又重新操作了一遍,这篇文章到发布总共花了三个小时,打赏按钮在那,广告也在那,赞不赞助本站你们看着办!

魏义齐全栈技术交流:魏义齐web前端技术交流

打赏本站

原创不易,您的打赏就是博主更新的动力!

上一篇:如何把Excel数据导入phpmyadmin里的数据库 下一篇:phpcms网站搬家详细教程以及部分意外情况的处理方法

相关阅读