当前位置:首页如何将HTTP站点转换成HTTPS、及后续问题 举报文章

如何将HTTP站点转换成HTTPS、及后续问题

作者:admin    来源:用户投稿    时间:2015.6.11   

HTTPS协议 网站加载速度 网站优化

  文/那年那月

  https及https的本地测试环境搭建。asp.net结合https的代码实现http网站转换成https网站,以及之后遇到的问题等。

  一:什么是https

  SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。

  SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。

  提示:SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。

  二:https的本地测试环境搭建

  1:win7/windows server 2008R2中 IIS7/IIS7.5 搭配https本地测试环境

  2:windows server 2003中IIS6.0 搭配https本地测试环境

  三:asp.net 结合 https的代码实现

  https是由IIS,浏览器来实现的传层加密,不需要特意的编码。。。平时怎么在asp.net里面编写代码,就怎么写。

  很可能要问,为什么我的站点使用了https之后,用firebug之类的软件查看值提交的时候,还是会显示明文呢?例如,博客园的登陆界面提交。

  http://passport.cnblogs.com/login.aspx

  

image
image

  为什么这里还是能看到明文的用户名和密码呢?

  原因是因为:https(ssl)的加密是发生在应用层与传层之间,所以,在传层看到的数据才是经过加密的,而我们捕捉到的http post的,是应用层的,是还没经过加密的数据。

  加密的数据只有客户端和服务器端才能得到明文 客户端到服务端的通信是安全的

  支付宝也是https的,但是他的同时也增加了安全控件来保护密码, 以前认为这个只是用来防键盘监听的,其实,看下面http post截获的密码:这个安全控件把给request的密码也先加了密,紧接着https再加次密,果然是和钱打交道的,安全级别高多了:)

  

image

  四:http网站转换成https网站之后遇到的问题

  整站https还是个别的页面采用https?网站的连接是使用相对路径?还是绝对路径?

  如果是整站都是https,那么会显得网页有些慢,如果是个别页面采用https,那么如何保证从https转换到http的时候的url的准确性呢?

  比如我们用http的时候,网站的头部底部都是用的相对路径,假如你的页面是 http://aa/index.aspx 你跳转到 https://aa/login.aspx 这里怎么来跳转?只能把超链接写死

  登陆 但是这样的话,你跳转过去之后的页面 ,所有的相对路径都变成了https开头了,这样很影响网站的效率。

  虽然使用绝对地址可以解决,但是那样显然不好移植。

  下面就是使用第三方的组件,来解决上面的这个问题

  步骤

  先下载dll文件 http://code.google.com/p/securityswitch/downloads/list 我选择的是 SecuritySwitch v4.2.0.0 - Binary.zip这个版本

  

image

  1: 我们来看看测试项目

image

  admin 文件夹,需要登录之后,才能访问。admin里面的 login.aspx 可以访问。整个admin文件夹都需要https访问:

image

  contact.aspx 需要https 访问:

image

  default.aspx 和 view.aspx 采用 http 访问:

image

  链接我们都采用相对路径,并没有写死成 http://www.xx.com/a.aspx 或者是 https://www.xx.com/a.aspx。

  

image

  下面我们开始用SecuritySwith来实现上面的https和http访问的规则。

  2:在项目上,添加引用 SecuritySwitch.dll ,并且添加智能提示。

  

image
image
image

  这样,只能提示就有了。

  

image

  3:然后我们在web.config里面添加设置 。根据IIS的不同,还分为 IIS6+ IIS7.X(经典模式) 以及 IIS7(集成模式) 的不同的配置,这里我们是按照IIS6+IIS7.X的(经典模式)来配置的。

  只看看里面的 SSL配置即可:

1

2

3

4

6

7

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:如何  站点  转换  转换成  换成  后续  问题  
  • 相关搜索
图片推荐
    如何将HTTP站点转换成HTTPS、及后续问题

    如何将HTTP站点转换成HTTPS、及后续问题

    文/那年那月  https及https的本地测试环境搭建。asp.net结合https的代码实现http网站转换成https网站,以及之后遇到的问题等。  一:什么是https  SSL(Securi
    90后连续创业失败者的独白:被投资人骗,团队解散

    90后连续创业失败者的独白:被投资人骗,团队解散

    在我还是个媒体实习生的时候就认识李佳了,转眼3年过去,她仍然在创业的路上坚持。  不管媒体包装得多么光鲜,但创业并不是一件容易的事,她一路上跌跌撞撞吃了不少亏,她希望和大家分享自己的创业经验。同时,也
    qq兴趣部落一天引流4000微信粉丝实操经验

    qq兴趣部落一天引流4000微信粉丝实操经验

    现在很多站长喜欢写推广类的文章,我想主要原因是这类文章的受众多,比较讨好。这也导致一系列的副作用,很多的文章只是为了博取流量,可操作性很差,甚至是有些作者本人也从来没有实践过。你自己都不去或者不能实践
    LG G4 S或将搭载骁龙615处理器 本月或发布

    LG G4 S或将搭载骁龙615处理器 本月或发布

    【Yesky新闻频道消息】 不久前,有消息称,LG正计划为大家带来一款LG G4的衍生版LG G4 S。即将发布的LG G4 S又有了新消息。据悉该机将搭载高通骁龙615处理器,GPU采用Adreno
    阿里把开了一年的“美版天猫”卖了

    阿里把开了一年的“美版天猫”卖了

    [摘要]阿里巴巴将把11Main网上商城转让给纽约一家风险投资支持的电商企业OpenSky。    腾讯科技讯 阿里巴巴集团在美国整体上市的前夕,阿里启动了国际化战略。在国际化的第一站美国,阿里集团开
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面