当前位置: 首页 > 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()+"";

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JS日期转化指定格式,获取月/周日期区间
  • Spring Boot入门:构建你的首个Spring Boot应用
  • Laya2.x出包alipay小游戏
  • 数据恢复免费版工具大比拼,哪款才是你的“救星”?
  • Linux运维篇-tigervnc工具的使用
  • 机器学习特征-学习篇
  • rtems 5.3 qemu realview_pbx_a9 环境搭建:生成 rtems arm 工具链
  • Maven下载安装
  • 物联网之Arduino编程语言、条件语句、循环语句、变量、数组、函数
  • IP协议及相关特性
  • WMS仓储系统的真正价值:从混乱到有序,亿发WMS如何重塑仓库管理
  • 算法:双指针题目练习
  • while循环及简单案例
  • Dubbo与SpringCloud的区别和优缺点
  • 1.熟悉接口测试(Postman工具)
  • 30秒的PHP代码片段(1)数组 - Array
  • Docker容器管理
  • ES6系列(二)变量的解构赋值
  • IndexedDB
  • iOS 系统授权开发
  • leetcode386. Lexicographical Numbers
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • rabbitmq延迟消息示例
  • Service Worker
  • Terraform入门 - 1. 安装Terraform
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vue2.0 实现互斥
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 多线程 start 和 run 方法到底有什么区别?
  • 算法系列——算法入门之递归分而治之思想的实现
  • 线上 python http server profile 实践
  • 移动端解决方案学习记录
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • Python 之网络式编程
  • #单片机(TB6600驱动42步进电机)
  • (2020)Java后端开发----(面试题和笔试题)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (力扣)1314.矩阵区域和
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (四)linux文件内容查看
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (源码分析)springsecurity认证授权
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .NET 4.0中的泛型协变和反变
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net Stream篇(六)
  • .NET/C# 使用反射注册事件
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • :=
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @EnableWebSecurity 注解的用途及适用场景