实现强制通过SSL访问网站

 

网站部署了服务器证书后,为了网站的安全,希望用户访问网站某些页面或者整个网站的时候,必须通过HTTPS的方式访问,而不允许HTTP明文方式访问。如何正确的配置网站和编写程序以达到一个理想的效果呢?

有些网站开发人员,采用了只开放了HTTPS-443端口,而关闭HTTP-80端口的方式,这样的话,虽然可以造成用户的确无法用HTTP访问网站了,但如果用户通过HTTP访问网站,譬如直接在地址栏输入网址www.etsec.com.cn ,则系统缺省就采用了HTTP方式,这时用户就会看到一个网站无法访问的出错信息,而绝大多数用户都不具备专业的网站知识,他们不会认为是自己输入不正确,而是认为网站出错了。那如何妥善解决来自用户HTTP的访问请求呢?

正确的做法,应该是将用户通过HTTP访问网站的请求,重新定位到HTTPS请求上。首先,要将网站配置成HTTP和HTTPS都可以访问的模式,确保80和443端口全部打开,然后在那些必须通过https访问的页面的头部加入一个判断语句,逻辑如下:

If 用户是通过HTTP访问本页面

Then 用HTTPS方式重新访问本页面

以下用ASP和JSP代码举例:

asp代码:

If Request.ServerVariables("HTTPS")="off" Then         response.redirect "https://www.etsec.com.cn" & Request.ServerVariables("PATH_INFO")         response.end      End If

jsp代码:
String scheme=request.getScheme(); String url=request.getRequestURI(); if(!"HTTPS".equalsIgnoreCase(scheme)) {        response.sendRedirect("https://www.etsec.com.cn"+url);        return ; }

对于必须通过HTTPS的页面,只需加入以上语句,即使用户是通过HTTP访问的该页面,系统也会自动将其转变为HTTPS。

转载于:https://www.cnblogs.com/etsc/archive/2012/11/28/2792203.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值