当前位置: 首页 > news >正文

【案例71】配置https之后 IE打不开登陆页面 Uclient没有问题

问题现象

配置https之后 IE打不开登陆页面 Uclient没有问题。

jvm控制台 显示如下

basic: 已调整小应用程序大小且已将其添加到父容器中
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 170755 us, pluginInit dt 722531 us, TotalTime: 893286 us
network: 找不到高速缓存条目 [url: https://127.0.0.1:80/, 版本: null]
network: 正在使用代理 DIRECT 连接 https://127.0.0.1:80/
network: 正在使用代理 DIRECT 连接 http://127.0.0.1:80/
basic: 已初始化小应用程序

问题分析

1、https配置了443端口
但是通过IE访问却走了https://127.0.0.1:80 ,删除httpd中所有关于80端口的配置,问题依旧

2、IE有问题,Uclient没有问题
IE访问的是login.jsp Uclient不是。通过 F12 查看源文件发现网页中就是调用的https://127.0.0.1:80/Client/java.exe也就是生成html就错了login.jsp ,主要就是调用的 a.jsp。

查看相关登录代码

##相关文件路径已经打码为XXX,相关文件加密为a.jsp。请不要按照此路径找,是找不到嘀~<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:choose><c:when test="${(empty param.width )|| (empty param.height)}"><jsp:forward page="xxx/xxx/a.jsp"><jsp:param name="autoResize" value="true" /></jsp:forward></c:when><c:otherwise><jsp:forward page="xxx/xxx/a.jsp" /></c:otherwise>
</c:choose>

查看a.jsp代码与端口有关的代码

发现强制走了强制走了80端口 应该是之前做的改动 非标准产品

String schme = request.getScheme();
String serverName = request.getServerName();
serverName = java.net.URLEncoder.encode(serverName, "UTF-8");
String port = heads.length>1?heads[1]:80 //request.getServerPort()+"";
String headStr = schme+"://"+serverName+":"+port+"/";
String userAgent = request.getHeader("user-agent");
String jreName = "xx/jre-xx-xx-i586.exe";
if(userAgent != null && userAgent.toLowerCase().indexOf("x64;") != -1)

标准的应该是自动获取相关端口 

String schme = request.getScheme();
String serverName = request.getServerName();
serverName = java.net.URLEncoder.encode(serverName, "UTF-8");
String port = request.getServerPort()+"";
String headStr = schme+"://"+serverName+":"+port+"/";
String userAgent = request.getHeader("user-agent");
String jreName = "xx/jre-xx-xx-i586.exe";
if(userAgent != null && userAgent.toLowerCase().indexOf("x64;") != -1)

解决办法

为了保障之前功能逻辑OK,改为当https的时候走443,非https的时候走80。重新刷新页面问题解决。

String basePort = '80';
if (schme.equalsIgnoreCase("https"))basePort = '443';
String port = heads.length>1?heads[1]:basePort; //request.getServerPort()+"";

http://www.lryc.cn/news/442813.html

相关文章:

  • ROS 设置dhcp option 6 多个地址格式
  • Python 二级考试
  • Linux笔记---简单指令
  • 软考无损连接判断
  • 微服务-- Sentinel的使用
  • TS React 项目中使用TypeScript
  • 【JavaEE】IP协议 应用层协议
  • CRM如何助力科技服务机构突破业务瓶颈?
  • 牛啊,GitHub 代理加速图文教程
  • 基于扣子(Coze)打造第一个智能体——个性化对话机器人
  • 算法-深度拷贝链表(138)
  • 【Kubernetes】常见面试题汇总(十四)
  • 灵当CRM系统index.php存在SQL注入漏洞
  • 详解QT元对象系统用法
  • 【Python】从基础到进阶(八):文件操作与上下文管理
  • c#:System.Text.Json 的使用四(如何忽略[JsonPropertyName])
  • 【CPU】CPU的物理核、逻辑核、超线程判断及L1、L2、L3缓存、CacheLine和CPU的TBL说明
  • NET WPF使用组件库HandyControl
  • 计算机毕业设计之:教学平台微信小程序(
  • VMware Fusion虚拟机Mac版 安装Win10系统教程
  • 头戴式蓝牙耳机性价比高的有哪些?四款高能性价比机型对比推荐
  • Linux:make,Makefile
  • 基于代理的分布式身份管理方案
  • VSCode开发ros程序无法智能提示的解决方法(一)
  • grep命令如何实现正则表达式搜索?
  • Vue报错 ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
  • emqx代理订阅主题的方法
  • 页面关键路径渲染详解
  • 错题集锦之C语言
  • 【2024华为杯数学建模竞赛】E题 解题思路 | 视频特征提取