设为首页 收藏本站
查看: 895|回复: 0

[经验分享] 【转】在IIS 7.0上使用自签证书来启用SSL

[复制链接]

尚未签到

发表于 2015-8-17 09:26:42 | 显示全部楼层 |阅读模式
【原文地址】
Tip/Trick: Enabling SSL on IIS 7.0 Using Self-Signed Certificates
SSL
允许浏览器与web服务器在一个安全的通道上交换信息,以防范窃听,篡改和消息伪造。你应该总是在登录页面(用户在上面输入用户名和密码),以及网站上其他所有安全敏感的网页上使用SSL,譬如,那些显示财务或个人信息的帐号网页。
在Windows早期的IIS版本上配置SSL很痛苦,搞清楚如何安装和管理证书,然后如何将证书与一个网站相关联,我敢说是大多数web开发人员并不知道怎么做的事情。
好消息是,IIS 7.0使配置和启用SSL成为小菜一碟。IIS 7.0现在对创建“自签证书(Self Signed Certificates)”也有内置的支持,自签证书允许你轻松地创建测试或个人证书,然后你可以用之来为开发或测试目的对一个网站快速启用SSL。
使用IIS 7.0的话,你可以在30秒内对一个现有的网站完成启用SSL。下面的教程示范该怎么来做。
第一步:创建一个新网站
我们先使用新的IIS 7.0管理工具创建一个新的网站。这个管理工具是对以前IIS管理工具的完全重写的结果(是使用Windows Forms全部用托管代码写成的),提供了对web特性更逻辑的组织。它对所有的ASP.NET和IIS设置提供了一个GUI管理体验:



要在机器上创建一个新的网站,在左手的树形视图窗口里右击“网站(Web Sites)”节点,选择“添加网站(Add Web Site)”上下文菜单选项。输入适当的细节创建一个新的网站:


Windows Vista上IIS7的一个很棒的特性是,你现在可以在本机上拥有的网站数目不再受限制(早期Windows客户机上IIS版本只允许一个网站)。早期Windows客户机IIS版本的10个并发请求的限制在IIS 7.0上也不再存在。
我们完成上面的步骤后,在我们的IIS web服务器上就有一个崭新的网站在运行了。
第二步:创建一个新的自签证书
在把SSL规则绑定到我们的新网站之前,我们首先需要引入和建立一个安全证书来用于SSL绑定。
在IIS 7.0中,可以这么来管理证书,点击左手树形视图管理器里的根机器节点(root machine node),然后在右边的特性视窗里选择“服务器证书(Server Certificates)”图案:


这会列出在机器上注册了的所有证书,并允许你引入或者创建新的证书。
我也可以去象Verisign这样的证书机构购买一个证书,然后用这个管理界面来引入。或者,我也可以创建一个“自签证书”,这是个测试证书,我可以在开发期间用来测试我的网站。可以这么做,在管理工具的右手边点击“创建自签证书(Create Self-Signed Certificate)”链接:


给证书输入一个名字 (譬如:“test”),点击OK. 然后IIS7就会自动为你创建一个自签加密证书(self-signed crypto certificate),同时与机器注册该证书:


第三步: 为我们的网站启用HTTPS绑定
要给我们在前面创建的网站启用SSL,在左手边的树形视图窗口里选择网站节点,然后在屏幕右手边的“操作(actions)”视窗里点击“绑定(Bindings)”链接:


这会调出一个对话框,上面列出了将访问者(traffic)导向该网站的所有的绑定规则 (即,该网站的主机头(host-header)/IP地址/端口组合):


要给网站启用SSL,我们要点击“添加(Add)”按钮。这会调出一个“添加绑定(add binding)”对话框,我们可以用来添加HTTPS协议支持。我们可以从对话框上的SSL证书下拉框里选择我们先前创建的自签证书, 这么做表明在SSL上给内容加密时,我们要使用那个证书:


Click ok, and we now have SSL enabled for our site:点击OK,我们就给我们的网站启用了SSL:


第四步:对我们的网站做测试
给网站添加一个“default.aspx”网页,然后在浏览器里输入
https://localhost/default.aspx
来试着访问该页,注意这里“https”(而不是“http”)的用法,表示你要通过SSL来连接。
如果你使用IE7,你会看到这个谨防欺诈(anti-phishing)的错误信息:


如果这发生的话,别怕,这只不过是IE想帮你,向你表明你本地机器的自签证书看上去有点可疑。点击“继续连接这个网站(Continue to this website)”链接跳过这个安全警告,继续连接到该网站上。你会发现你的default.aspx网页现在是在SSL保护下运行的:


至此,全部完成!


附录:几个关于SSL的注意事项
最后,几个涉及SSL的注意事项:
IIS 7.0管理工具有个“SSL设置(SSL Settings)”节点,你可以针对每个网站,目录或者文件来做选择,这允许你控制特定的资源执行时是否需要SSL请求。这对login.aspx这样的网页来说很有用,因为你要保证只有在加过密的通道上提交信息时,用户才能输入他们的身份信息。假如你配置login.asp需要SSL的话,IIS 7.0就会堵截浏览器的访问,除非是通过SSL来访问的。
在ASP.NET网页或处理器(handler)里,你可以通过检查Request.IsSecure属性,用编程的手法检查当前请求是否使用了SSL(假如进来的浏览器请求是通过SSL的,该属性会返回true)。
你可以设置web.config文件中的  配置部分的“requireSSL”属性,要求ASP.NET的表单认证系统确保表单认证cookie只有在启用了SSL的网页和URLs上才可以设置和使用。这避免了黑客在不受SSL保护的网页上试着拦截认证cookie,然后试着从另外的机器上使用“重放攻击(Replay Attack)”来冒充用户的危险。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-100061-1-1.html 上篇帖子: 访问IIS元数据库失败 和 服务器应用程序不可用 下篇帖子: 设置自己的域名在局域网中访问.DNS及IIS配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表