文档中心
IIS7閰嶇疆HTTPS鑷鍚嶈瘉涔﹀叏鏀荤暐鎵嬫妸鎵嬫暀浣犳惌寤哄畨鍏ㄦ祴璇曠幆澧?txt
时间 : 2025-09-27 16:18:49浏览量 : 3

作为一名网络安全从业者,我经常需要在本地测试环境中配置HTTPS服务。今天我就用最通俗易懂的方式,给大家详细介绍如何在IIS7上创建和安装自签名SSL证书,让你的本地网站也能拥有"小绿锁"。
一、什么是自签名证书?它和CA证书有什么区别?
想象一下你要去银行办业务,银行的门口站着两个保安:
- 一个是***认证的(CA颁发证书)
- 另一个是银行自己任命的(自签名证书)
虽然都能维持秩序,但***认证的保安大家都认识且信任,而银行自己任命的保安只有经常来这家银行的人才认识。
自签名证书就是你自己扮演"证书颁发机构(CA)"给自己颁发的SSL证书。它的加密强度与付费证书完全相同,区别在于:
1. 不会被浏览器默认信任(会显示警告)
2. 没有第三方验证你的身份
3. 通常用于测试环境或内网
真实案例:去年我们公司在开发一个金融系统时,先在测试环境使用自签名证书完成了所有HTTPS功能测试,确认无误后才购买正式CA证书上线,节省了大量开发成本。
二、在IIS7上创建自签名证书的详细步骤
1. 打开IIS管理器
按下Win+R,输入`inetmgr`回车,就看到IIS管理器的界面了。
2. 创建自签名证书
就像你自己给自己发身份证一样简单:
1. 在左侧连接面板中选择服务器名称
2. 双击中间区域的"服务器证书"
3. 右侧操作面板点击"创建自签名证书..."
4. 输入一个好记的名称比如"MyTestCert"
5. "个人"存储位置保持默认即可
注意点:名称最好包含用途和日期,比如"DevSite2025",方便后续管理多个证书。
3. 绑定到网站
现在有了"身份证",要把它用在网站上:
1. 左侧展开站点,选择你的网站
2. 右侧点击"绑定..."
3. 添加一个新绑定
- 类型:https
- IP地址:全部未分配
- 端口:443(HTTPS默认端口)
- SSL证书:选择刚创建的"MyTestCert"
4. 点击确定完成
常见问题排查:
- 错误提示"进程无法访问文件":可能是IIS没有权限读取证书文件。解决方案是以管理员身份运行IIS管理器。
- 端口冲突:如果443端口被占用(比如Skype),可以改用其他端口如4443。
三、让浏览器信任你的自签名证书
默认情况下浏览器会这样警告你:

要让这个红叉变成小绿锁,需要将证书安装到受信任的根证书颁发机构:
Windows系统信任方法
1. Win+R运行`mmc`
2. "文件"→"添加/删除管理单元"
3. 添加"证书",选择"计算机账户"
4. "受信任的根证书颁发机构"→右键导入你的cer文件
Chrome特别设置
Chrome有时很固执:
1. chrome://flags/
allow-insecure-localhost
2. Enable该选项(仅适用于localhost)
企业内网应用场景:我们在公司内部OA系统部署时就使用了域控制器推送自签名根证书记录到所有员工的电脑中,这样全公司电脑访问OA时都不会出现警告。
HTTPS安全加固建议
即使使用自签名SSL也要注意安全性:
1?? 密钥长度至少2048位
```powershell
New-SelfSignedCertificate -DnsName "yoursite.com" -CertStoreLocation "cert:\LocalMachine\My" -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
```
2?? 定期更换
建议每6个月重新生成一次(测试环境)
3?? 禁用弱加密套件
在IIS的SSL设置中禁用:
- SSLv2/SSLv3/TLSv1/TLSv1_1
- RC4/DES加密算法
4?? 启用HSTS
在web.config中添加:
```xml
HTTPS性能优化技巧
很多人以为HTTPS一定会慢很多其实不然:
?? 启用OCSP Stapling
减少客户端验证时间
?? 会话恢复设置
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL' -Name 'ServerCacheTime' -Value '86400'
?? 优化TLS握手
优先使用TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384等现代加密套件
QA环节:你可能遇到的问题解答
Q: Chrome还是显示不安全怎么办?
A:
1)确保证书已导入受信任根目录
2)检查访问域名是否与证书记录完全一致
3)清除浏览器缓存后重试
Q: Android手机不信任我的自签名?
需要将cer文件发送到手机安装。或者更简单的方法——用Fiddler等工具代理手机流量。
Q: IIS重启后https无法访问?
A:
检查应用程序池是否自动启动+确保站点绑定未被清除。建议导出应用池配置做备份。
通过以上步骤你应该已经成功搭建了安全的HTTPS测试环境。记住:生产环境务必使用正规CA颁发的SSL证书记录!有任何问题欢迎在评论区交流讨论。
TAG:iis7 https 自签名 证书,内网https自签证书,app自签名证书ios,iis配置https证书,自签名ssl证书,iis创建自签名证书