前段时间做OA系统的https的安全登录功能(以前登录是采用的一般的http方式,后因为安全性考虑需要改成https的方式)在本机测试完全通过。 可是近期同事发现在测试环境下用IE6访问会出现不能访问的问题。我测试了以下,确实存在这样的问题。这个问题仅出现在IE6上,在火狐或IE7\8上都 没问题。这就很纳闷了。为什么会出现这样的情况呢?

WEB服务器采用的是weblogic10.3。

http:9001

https:9002

使用IE6访问后控制台会出现如下错误:

<Warning> <Security> <BEA-090475> <Plaintext data for protocol HTTP was received from peer 10.32.1.90 - 10.32.1.90 instead of an SSL handshake.>

Description

Plaintext data was received over an SSL connection.

Cause

A peer is trying to send plaintext data directly instead of using SSL.

Action

Check the port and protocol settings on the peer that is trying to connect. It may be pointing to the SSL port by mistake or it may be specifying a plaintext protocol by mistake.

WEBLOGIC的官网说:

问题发生的原因大概是明文数据企图用SSL来通信。

这就奇怪了。我的https在后台校验登录成功后就强制转换到了http方式。并且这一切都在IE7\8下通过了测试。

跟踪代码发现,在Login.jsp页面已HTTPS的方式提交了数据后,后台过滤器进行数据的校验,校验通过后采用sendRedirect方法跳转到http方式(sendRedirect(http://reyo.cn:9001/test.jsp)),问题就发生在访问validateright.jsp页面的时候。

在validateright.jsp通过request.getRequestURL()获取出来的数据为http://reyo.cn:9002/test.jsp。 我明明在过滤器里面重定向的是9001的端口,在页面获取到的确是9002.和用request.getLocalPort()获取来的9001也不同。 但如果用IE7/8以及火狐来访问的话就不会有这样的问题。同样的访问流程,不同的浏览器向服务器提交的请求端口不同。太奇怪了。

无解。无解。这肯定和后台的代码没多大关系,初步猜测是IE6的一个BUG。尚未证实。

后来把服务器的http和https的端口都改为了默认端口80,443.这样不管IE6\7\8,以及火狐都不存在这样的问题。看来是用默认端口不会遇到这样的BUG问题,也暂时作为临时解决方案吧。

https跳转到http的过程在IE6中存在BUG(Bea-090475)的更多相关文章

  1. 【虚拟机-网关】如何在使用应用程序网关和 Nginx 的环境下实现强制 HTTPS 跳转

    背景介绍 大家在使用 Nginx 部署网站时,实现 HTTP 到 HTTPS 的强制跳转是非常容易的事情,一般可以使用rewrite 命令或者使用返回自定义 301 页面的方法对 HTTP 请求进行 ...

  2. Nginx http -> https 跳转后 POST 丢失

    在 nginx.conf 配置文件中添加如下配置进行 http -> https 跳转 server { listen ; server_name example.org; https://$s ...

  3. spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式

    spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式[部分内容转载] 2018年03月27日 18:58:41 守望dfdfdf 阅读数:62更多 个人分类: 工 ...

  4. mysql-存储过程案例-存储过程中创建表和修改表数据

    -- 本存储过程有特殊执行循环数量的要求,是对security_market_history表进行修正 -- 判断存储过程是否存在 drop PROCEDURE if exists proc_secu ...

  5. 【转】C 编译器优化过程中的 Bug

    C 编译器优化过程中的 Bug 一个朋友向我指出一个最近他们发现的 GCC 编译器优化过程(加上 -O3 选项)里的 bug,导致他们的产品出现非常诡异的行为.这使我想起以前见过的一个 GCC bug ...

  6. 【2016美团】浏览器和服务器在基于https进行请求链接到数据传输过程中,用到了如下哪些技术

    A.非对称加密技术 B.对称加密技术 C.散列(哈希)算法 D.数字证书 答案:ABCD HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数 ...

  7. Unity3D_(游戏)跳一跳超简单制作过程

    跳一跳 工程文件界面 游戏界面 脚本 using DG.Tweening; using System.Collections; using System.Collections.Generic; us ...

  8. https页面证书验证、加密过程简介

    1.服务器向CA机构获取证书(假设这个证书伪造不了),当浏览器首次请求服务器的时候,服务器返回证书给浏览器.(证书包含:公钥+申请者与颁发者的相关信息+签名) 2.浏览器得到证书后,开始验证证书的相关 ...

  9. https跳http

    listen 443 ssl;rewrite ^ http://$http_host$request_uri? permanent;

随机推荐

  1. 更改Chrome浏览器安装位置的方法

    因为Google Chrome独特的优势,我们很多人都在使用它,但同时我们也会发现它是默认安装在我们的系统盘的,那么是否就不能修改其安装路径了呢?其实不然,这里介绍一种方法,亲测可行. 一.正常安装 ...

  2. CentOS7.5搭建ELK6.2.4集群及插件安装

    一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...

  3. thinkphp数据查询方法总结select ,find,getField,query

    thinkphp已经封装好了常用的查询方法,且都比较实用,对于不常用的查询框架也保留了原始查询方法query. 1 2 $Model = new Model() // 实例化一个model对象 没有对 ...

  4. php操作mongodb or查询这样写!

    $where['$or'] = [ ['id' => ['lt'=>0]], ['id2' => ['lt'=>1]] ]; 这个是查询 id>0 或者id2>1的 ...

  5. libhiredis.so.0.13: cannot open shared object file: No such file or director

    Hiredis安装步骤: tar zxvf antirez-hiredis-v0.10.1-0-g3cc6a7f.zip cd antirez-hiredis-3cc6a7f make 解决办法: m ...

  6. 用profile协助程序性能优化

     程序运行慢的原因有很多,比如存在太多的劣化代码(如在程序中存在大量的“.”操作符),但真正的原因往往是比较是一两段设计并不那么良好的不起眼的程序,比如对一序列元素进行自定义的类型转换等.因为程序性能 ...

  7. 面向对象设计原则 迪米特法则(Law of Demeter)

    迪米特法则(Law of Demeter) 又叫作最少知识原则(Least Knowledge Principle 简写LKP),英文简写为: LoD. 这是一种面向对象程序设计的指导原则,它描述了一 ...

  8. Struts2 (下)

    接收参数 当发送一个请求时,除了使用RequestApi来接收参数之外,Struts2内部提供了3种接收参数的方式 接收参数的方式 1. 提供属性set方法的方式 在Action当中提供对应属性的se ...

  9. BZOJ.3611.[HEOI2014]大工程(虚树 树形DP)

    题目链接 要求的和.最大值.最小值好像都可以通过O(n)的树形DP做,总询问点数<=2n. 于是建虚树就可以了.具体DP见DP()函数,维护三个值sum[],mx[],mn[]. sum[]要开 ...

  10. 51Nod 快速傅里叶变换题集选刷

    打开51Nod全部问题页面,在右边题目分类中找到快速傅里叶变换,然后按分值排序,就是本文的题目顺序. 1.大数乘法问题 这个……板子就算了吧. 2.美妙的序列问题 长度为n的排列,且满足从中间任意位置 ...