越来越多的网站把http改造成https的形式,这样可以获得更多的SEO效果及用户体验。那么如何改造呢?以下是详细步骤:
一、阿里云服务器申请CA_SSL数字证书
1、进入阿里云管理控制台
依次点击“管理控制台” > “安全(云盾)” > “CA证书服务” > “购买证书”
2、购买证书
选择Symantec品牌下的“免费型DV SSL”。
3、确认购买免费型SSL
这里的付费方式显示为“预付费”,不过一定是免费的,这个大家放心。
4、支付成功
出现证书控制台。点击进入。
5、返回证书控制台
可以看到证书的状态是“待完成”,后面的进度下方有蓝色的“补全”,点击“补全”。
6、填写域名信息
域名填写,只能是一个普通域名,不能是通配符域名。这句话的意思是说,只能是一个普通域名,不能使用通配符来表达所有的网站子域名。所以我在这里写了www.xxkt.org,而并没有填写xxkt.org。
7、填写个人信息
按要求填写个人信息。建议选择DNS验证。我的域名在阿里云,故勾选并勾选证书绑定的域名在【阿里云的云解析】产品中。
8、提交审核或token校验失败
我开始提交的时候,提示“token校验失败”,后来重头弄了下,又刷新了下页面,就提交过去了,出现了提交审核的界面。
9、等待处理
提升审核之后,就提示“订单正在处理中,请稍后再来查看进度”。
10、证书签发
周一下午19:00申请的,大概十几分钟的时间,申请通过。
11、下载证书
点击下载SSL证书。
12、下载对应服务器类型证书
我的是IIS8,故选择IIS 7/8。点击“下载证书for IIS7/8”。
二、安装SSL证书
1、上传至服务器
将下载好的证书压缩包上传至服务器。
2、证书的导入
开始>运行>MMC。再依次点击“文件”>“添加或删除管理单元”>“证书”>“计算机账户”>“下一步”>“添加”。
打开“证书”>右键“个人”>“所有任务”>“导入”。
右下角勾选“个人信息交换(*.pfx;p12)”。选择类型为“Personal Information Exchange”的文件即可。
打开之后,选择下一步,勾选“根据证书类型,自动选择证书存储”,然后点击下一步。
点击完成与成功导入。
空白处刷新,确认已成功导入。
3、分配服务器证书
在IIS8中找到需要绑定的域名,点击后,找到右上角的“绑定”,最后点击“添加”。
首先选择类型为“https”,然后填写域名,最后填写SSL证书。确定即可。
4、测试效果
将首页、栏目页和内容页进行了几个浏览器的效果测试,均有安全网站标志。
三、HTTP到HTTPS的301跳转
方法一、URL重写
1、URL重写
在Windows2012服务器上的IIS8中,已经安装好URL重写模块(如未,先进行安装),双击点开。
2、添加空白规则
在右侧选择“添加规则”,并选择“空白规则”。
3、编辑入站规则
编辑规则如下。名字随便起。
模式(T):(.*)
条件输入(C): {HTTPS}
添加条件的模式(T):off
操作类型选择“重定向”。
重定向URL: https://{HTTP_HOST}/{R:1}
重定向类型:永久(301)。
最后点击右侧窗体的“应用”。
方法二、web.config
1、复制如下代码到web.config
新建一个txt文档,如新建文档.txt 改名为 web.config 。注意一定要改后缀。修改完后,用文本文档打开或nodepad++等编辑软件打开,后复制下面进入,保存。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="WordPress: http://xxkt.org" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
2、上传web.config文件到网站根目录
情况1:网站无web.config文件,那么直接复制进来即可。
情况2:如果网站根目录已经有这个文件,请不要覆盖,需要合并两个文件中的内容。
例如,我用的是WordPress博客系统,已经设置了固定链接,已经存在了web.config,那么此时,如果这个文件被覆盖,网站将只能正常访问主页。
原有文件代码如下:
两个文件代码整合后如下:
3、修改302为301
本来上传或替换web.config文件后,就完成了,我发现,在URL重写模块中是302跳转,虽然长期效果应该差不多,不过还是建议改为301吧。
四、HTTPS改造后续工作
检查前,将浏览器的浏览记录全部删除,不然缓存可能会影响测试的结果。
尽量能够全面检查所有类型的页面。