通过XCA程序生成并导出了证书文件,现在应该在服务器上安装证书了,此文以IIS10.0为Web服务器,使用Windows Server 2016操作系统。
1.将证书拷贝到服务器上的目标目录,然后调出运行程序,输入mmc回车,打开MMC管理程序。
2.点击菜单栏“文件 -> 添加/删除管理单元”,弹出其管理窗体,在左侧列表种选中“证书”项,点击“添加”按钮,之后按照流程操作。
3.证书管理单元添加完毕后,MMC主窗体左侧树形菜单出现数据,此时选中“个人 -> 证书”项,右键 -> 所有任务 -> 导入,之后按照流程操作。
4.完成上述操作,表示证书已经安装在了服务器上,接下来就是配置使用了。
a.IIS上使用证书配置https网站,打开IIS,选择目标网站,右键选择“绑定”,这里假设目标网站已经存在。
b.在弹出窗体上按照要求填写各个选项,之后将配置信息保存即可。
c.此时,就可以通过浏览器以https://xxxxx的方式安全的访问网站了。
d1.强制使用https:即通过在网页中加入代码的形式,强制使用https。即在网页中加入代码<meta http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests”>或者在服务器响应头中加入Content-Security-Policy: upgrade-insecure-requests项。
d2.使用相对协议,在资源头里不加入http或者https,只有//,举例:<img src=”http://xxxx.xxxx.com/abc.png“>改为<img src=”//xxxx.xxxx.com/abc.png”>。
d3.比较上述两个方式,显然第二种方式更平滑。
e.扩展知识2,为了使用在书签中收藏http链接的用户能够使用安全的服务,我们需要将http请求转到https请求。此时需要URL Rewrite工具帮忙了,如果你的站点和服务是前后端分离的两套程序,那么你对它一定不陌生。在站点的根目录下打开web.config配置文件,如果没有则创建一个,在节点<system.webServer>添加如下内容:
<rewrite>
<rules>
<rule name=”HTTP2HTTPS” stopProcessing=”true”>
<match url=”(.*)”/>
<conditions>
<add input=”{HTTPS}” pattern=”off” ignoreCase=”true” />
</conditions>
<action type=”Redirect” redirectType=”Found” url=”https://{HTTP_HOST}/{R:1}” />
</rule>
</rules>
</rewrite>
f.扩展知识3,从http升级为https后,websocket不能用了啊!问题说明:
f1.如果网站升级为https,那么websocket的通信协议必须是wss://不能是原来的ws://。
f2.使用wss协议的连接,必须只能使用域名,而非IP+端口号。
f3.建议websocket单独管理。