站点http升级到https
背景:
由于最近小程序的发布需要https协议,所以需要将站点升级到https
环境;
域名:腾讯云的域名
服务器:腾讯云window服务器
搭建站点环境:Window2008 + IIS + MYSQL + PHP5.6-nts
步骤一:需要材料:
ssl证书
①、购买证书
https://console.cloud.tencent.com/ssl
接下来是将这个解析值放在域名解析中,可参考腾讯云的说明文档
https://cloud.tencent.com/document/product/400/4142
解析完成后有个等待腾讯云CA 审核
审核成功之后显示如下
下载证书
选择对应环境的ssl证书
步骤二:配置
接下来是将ssl导入并绑定域名操作(可参考腾讯云的说明手册:https://cloud.tencent.com/document/product/400/35225)
证书安装
- 已在 SSL 证书管理控制台 中下载并解压缩
www.domain.com
证书文件包到本地目录。
解压缩后,可获得相关类型的证书文件。其中包含 IIS 文件夹和 CSR 文件:- 文件夹名称:IIS
- 文件夹内容:
www.domain.com.pfx
证书文件keystorePass.txt
密码文件(若已设置私钥密码,则无keystorePass.txt
密码文件)
- CSR 文件内容:
www.domain.com.csr
文件说明:CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。
- 打开 IIS 服务管理器,选择计算机名称,双击打开 “服务器证书”。如下图所示:
- 在服务器证书窗口的右侧 “操作” 栏中,单击【导入】。如下图所示:
- 在弹出的 “导入证书” 窗口中,选择证书文件存放路径,输入密码,单击【确定】。如下图所示:
说明:
申请证书时若设置了私钥密码,输入密码时,请输入私钥密码。若申请证书时未设置私钥密码,输入密码时,请输入 IIS 文件夹中 keystorePass.txt 文件的密码。具体操作请参考 私钥密码指引。
- 选择网站下的站点名称,并单击右侧 “操作” 栏的【绑定】。如下图所示:
- 在弹出的 “网站绑定” 窗口中,单击【添加】。如下图所示:
- 在 “添加网站绑定” 的窗口中,将网站类型设置为 https,端口设置为443,并指定对应的 SSL 证书,单击【确定】。如下图所示:
注意:选择https类型 主机名为不可输入的解决方案,
(1)我们可以通过手工修改 IIS 配置来实现主机头绑定。打开如下位置的文件。
C:\Windows\system32\inetsrv\config\applicationHost.config
(2)找到如下节点位置:
<bindings> <binding protocol="net.tcp" bindingInformation="808:*" /> <binding protocol="net.pipe" bindingInformation="*" /> <binding protocol="net.msmq" bindingInformation="localhost" /> <binding protocol="msmq.formatname" bindingInformation="localhost" /> <binding protocol="http" bindingInformation="*:80:www.hangge.com" /> <binding protocol="https" bindingInformation="*:443:" /> </bindings>
(3)我们将高亮的部分修改成如下配置:
<binding protocol="https" bindingInformation="*:443:www.hangge.com" />
(4)修改完毕后回到 IIS 这边(不用重启),可以看到主机名已经成功绑定上了。
8.添加完成后,即可在 “网站绑定” 窗口中查看到新添加的内容。如下图所示:
HTTP 自动跳转 HTTPS 的安全配置(可选)
执行下列步骤前请下载安装 rewrite 模块。
说明:
- 正常跳转可按照下列编辑规则。若您有其他需求可以自己设置。
- HTTP 跳转 HTTPS 过程中,如果您的网站元素中存在外部链接或者使用的 HTTP 协议,导致整个页面不完全是 HTTPS 协议。部分浏览器会因为这些因素报不安全的提示,例如链接不安全。您可以单击不安全页面中的 “详细信息” 查看报错原因。
- 打开 IIS 服务管理器。
- 选择网站下的站点名称,双击打开 “URL 重写”。如下图所示:
- 进入 “URL 重写” 页面,并单击右侧 “操作” 栏的【添加规则】。如下图所示:
- 在弹出的 “添加规则”窗口中,选择【空白规则】,单击【确定】。如下图所示:
- 进入 “编辑入站规则” 页面。如下图所示:
- 名称:填写强制 HTTPS。
- 匹配URL:在 “模式” 中手动输入
(.*)
。 - 条件:展开 ,单击添加,弹出 “添加条件” 窗口。
- 条件输入:
{HTTPS}
。 - 检查输入字符串是否:默认选择与模式匹配。
- 模式:手动输入
^OFF$
。
- 条件输入:
- 操作:填写以下参数。
- 操作类型:选择重定向。
- 重定向 URL:
https://{HTTP_HOST}/{R:1}
。 - 重定向类型:选择参阅其他(303)。
- 单击 "操作" 栏的【应用】保存。
- 返回网站首页,单击右侧 “管理网站” 栏的【重新启动】。即可使用
http://www.domain.com
进行访问。
好了,以上是安装并配置ssl的过程
安装过程可能遇到的问题
①、使用https不能访问
原因:检查腾讯云的云服务中的安全组中是否开启443端口并关联实例,这点很重要。为了找出这个原因,折腾了好几个小时
②、其余原因:
参考的:https://baijiahao.baidu.com/s?id=1616571603148790567&wfr=spider&for=pc
windows服务器IIS下部署SSL之后https页面打不开的解决办法
对于我们一些草根站长来说配置https唯一的目的可能是看起来比较有档次、比较装逼,虽然都知道http是关于安全的,但是具体一个什么样的安全体系很多人并不知道,下面整理一下配置SSL的好处。
保障网站以及用户的数据安全,网站安装SSL证书后可以启用https协议来进行访问,从而实现数据信息在客户端和服务器之间的加密传输,可以很好的防止用户隐私信息如用户名、密码、交易记录、居住信息等被窃取和纂 改,最终保障网站数据传输安全。ssl证书可以识别假冒网站。由于SSL证书可以认证服务器真实身份,因此,它能有效的区别假冒钓鱼网站和官方网站。同时,企业网站安装SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用 户展示网站认证信息,从而让用户轻松验证网站真实身份,识别欺诈、钓鱼等假冒网站。提升企业形象。如果企业网站安装了一个由权威证书签发机构签发的SSL证书,不仅就能突显网站的专业性,而且还能提升网站访问者的信任度。当然,如果部署的是高级一些的EV SSL证书,还会显示绿色地址 栏和单位名称,这就告诉用户其访问的是安全、可信的站点,可以大大提升企业的形象和可信度。不会配置的朋友可以参考我之前的一篇文章:windows服务器IIS配置ssl证书的步骤
不好意思跑题了,这篇文章的主要目的是分享我在iis下配置SSL之后出现页面不能访问的问题的解决方法。
页面打不开首先检查几点:1、证书自身问题,例如证书是否已经签发、域名绑定是否正确 2、服务器防火墙问题 3、iis部署有有误 4、服务器安全组是否配置了443端口。
检查证书问题
证书上面有授予的域名,查看是否和你在服务器上绑定的域名是一致的。
服务器防火墙检查
打开控制面板->点击“windows防火墙”->点击“允许应用或功能通过windows防火墙”->查看“安全万维网服务(https)”的专用和公用是否已经勾上,没勾上的话要勾上否则肯定不能访问。
服务器安全组配置
安全组这块配置一般是在服务器商那边设定,如果是虚拟主机可能需要联系服务器商解决,我这边是阿里云的服务器,所以到阿里云后台可以自行操作。
进入云服务器ECS一栏,点击左侧导航的“安全组”然后点击“配置规则”
进入规则配置列表查看是否已经允许443端口出入,如果没有的话点击右上角“添加安全组规则”,接下在配置一个443端口。
协议类型选择“HTTPS(443)”,授权对象0.0.0.0/0指的是允许所有的ip访问你的443端口,然后点击确定,就完成配置。
微信小程序在iOS端,出现SSL错误,无法建立安全连接的问题解决
主要是因为使用的sever2008 IIS7 默认使用的SSL2.0,而iOS微信需要使用TLS 1.2。
只要修改一下,启用server 2008 的TLS 1.2就可以了。
具体方法可以参考https://support.quovadisglobal.com/kb/a433/how-to-enable-tls-1_2-on-wind...
简单来说就是:
打开注册表编辑器,找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
在下面新建项 TLS 1.2 ,在TLS1.2 下面建立Client和Server2个项,在2各项下面分别添加 DisabledByDefault Enabled
前者为0 后者为1.
接着设置ssl服务为0即可
改好之后重启服务器即可
(以上亲测可用),IOS马上就可以安全连接
posted on 2019-09-11 10:21 shenzen_小白 阅读(2599) 评论(0) 编辑 收藏 举报