西部数码win2008服务器部署ssl实现HTTPS经验分享

时间:2022-06-02 18:43:02 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西部数码win2008服务器如何部署ssl实现HTTPS经验分享

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

废话不多说开始:

一、单站点部署ssl

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

win2008服务器如何部署ssl实现HTTPS经验分享(图文教程)

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

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

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

win2008服务器如何部署ssl实现HTTPS经验分享(图文教程)

点击右侧的导入

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

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

win2008服务器如何部署ssl实现HTTPS经验分享(图文教程)

类型选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,具体操作请访问https://www.west.cn/faq/list.asp?unid=1450,在我截图的部分下载脚本
win2008服务器如何部署ssl实现HTTPS经验分享(图文教程)

注意:这个链接一定要复制到服务器里面的浏览器里打开下载相关内容,不然下载的文件会被浏览器或360网站卫士误判为不安全软件,这样复制到服务器可能就不完整了。如果服务器里的浏览器提示危险文件,允许运行就行了。如果提示下载wget.exe失败请手动下载,则去https://eternallybored.org/misc/wget/下载并放置指定目录。 2019年6月1日补充:目前西数链接的win-ssl.bat已更新至最新版v1.9,如不提示下载wget.exe,则不下载wget.exe。

下载之后运行会出现如下窗口:
win2008服务器如何部署ssl实现HTTPS经验分享(图文教程)

输入1回车安装环境,完成后输入3回车会提示输入域名,先不要输入域名,下载证书,注意此时要下载PEM格式的
win2008服务器如何部署ssl实现HTTPS经验分享(图文教程)

下载下来解压后文件夹里有三个文件,.cer、.key和.crt格式的,把这三个文件放到网站根目录(是根目录不是二级目录)
win2008服务器如何部署ssl实现HTTPS经验分享(图文教程)

此时再输入域名,回车,需要等待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链接成功。请严格按本教程操作,不要受其它教程干扰。

 

本文来源:https://www.wddqw.com/plGh.html