【案例73】Uclient无法读取https地址添加应用

news/2024/12/21 22:09:40/

问题现象

客户做了一个https>https的域名转换,网页端是正常访问的,但是在uclient里面添加应用就不行了,出来两个不对的应用,也安装不了,提示失败。

https>https://i-blog.csdnimg.cn/direct/fe5d0f2046a7468cb1f9fbcdf01f5d49.png" width="1200" />

https>https://i-blog.csdnimg.cn/direct/3c7e1280b9d442cba91cfb73223b6f25.png" width="1200" />

问题分析

点击添加应用发现,本来添加地址是https>https://域名:外网端口,但是相关jar下载地址却变成了http://服务器主机名:外网端口,但服务器内网无相关端口。由此可判断可能是转发出现异常导致。

https>https://i-blog.csdnimg.cn/direct/894b9d5db5454b26b459c19507a4b1ac.png" width="1200" />

查看网络配置逻辑,有个统一绑定域名和证书的Nginx1,用户通过https>https协议访问Nginx1的Port1端口后,把请求转发到Nginx2的Port2端口上,在通过Nginx2通过http代理把请求转发到NCC的Port3端口上。分别部署在3台不同的机器上。分别放置Nginx1、Nginx2、NCC代码。

https>https://i-blog.csdnimg.cn/direct/9274814fd5b64201bd7608bef065cdfb.png" width="1177" />

查看NCC架构发现非集群架构,只是一个单点模式。

https>https://i-blog.csdnimg.cn/direct/903aa0c9d7a44ebfb287b84ac808cb63.png" width="1200" /> 

Nginx1关键配置 

#### 服务器1的IP加密为1.1.1.1;服务器2的IP加密为2.2.2.2;服务器3的IP加密为3.3.3.3server {listen 443 ssl;server_name 1.1.1.1;ssl_certificate /a/b/c/9496525__dossen.com.pem;ssl_certificate_key /a/b/c/9496525__dossen.com.key;ssl_session_timeout  5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;underscores_in_headers on;ssl_prefer_server_ciphers on;location / {proxy_pass http://NCNginx;}
}upstream NCNginx {server 2.2.2.2:Port2
}

https>https://i-blog.csdnimg.cn/direct/14010cdabe93457d80bf0fcc65c4fa5d.png" width="1200" />

Nginx2关键配置

#### 服务器1的IP加密为1.1.1.1;服务器2的IP加密为2.2.2.2;服务器3的IP加密为3.3.3.3server {listen Port2;server_name 2.2.2.2;location / {proxy_pass http://NCServer;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_http_version 1.1;proxy_set_header Connection keep-alive;}
}upstream NCServer {server 3.3.3.3:Port3
}

https>https://i-blog.csdnimg.cn/direct/01ed0095823c4818964fea7f3b957b3a.png" width="1200" />

由于非集群中间层Nginx2没有部署的必要,和客户沟通,建议减少一层负载。直接让其从Nginx1直接把请求转到NCC上。

#### 服务器1的IP加密为1.1.1.1;服务器2的IP加密为2.2.2.2;服务器3的IP加密为3.3.3.3server {listen 443 ssl;server_name 1.1.1.1;ssl_certificate /data/yonyou/certs/9496525__dossen.com.pem;ssl_certificate_key /data/yonyou/certs/9496525__dossen.com.key;ssl_session_timeout  5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;underscores_in_headers on;ssl_prefer_server_ciphers on;location / {proxy_pass http://NCServer;#增加如下配置proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_http_version 1.1;proxy_set_header Connection keep-alive;}
}upstream NCServer {server 3.3.3.3:Port3
}

https>https://i-blog.csdnimg.cn/direct/2e08af5b56dc4624ace34cdf532484ff.png" width="1200" />

再次测试发现,通过Uclient添加应用,轻量端正常。但重量端问题依旧。还剩走http协议,但是直接下载地址从http://应用服务器主机名:外端端口变更为真实域名。但轻量端已经恢复正常。

https>https://i-blog.csdnimg.cn/direct/74c5bc22acba4b51a59002e42696c00a.png" width="1200" />

查阅文档得知,如果Uclient想走https>https协议添加应用。

需要修改webapps/nc_web/Client/uclient_appconfig.properties文件增加如下内容。

https>https://i-blog.csdnimg.cn/direct/5029d81606a94155bc024daa54630701.png" width="1200" />

重启服务后验证后发现Uclient重量端依旧有问题。

访问https>https://域名:端口/app.esc发现,还是走的http协议,说明修改的配置未生效。说明应该是代码层面绑定导致的。

https>https://i-blog.csdnimg.cn/direct/238786f259b74e4e8174850687882f10.png" width="1200" />

解决方案

打相关补丁,重启服务。

https>https://i-blog.csdnimg.cn/direct/eb2da93712f84e158b501e3b43293b30.png" width="351" />

注意,打了此补丁,可能会导致uclient通过http协议添加应用失败。(强走https>https协议)


http://www.ppmy.cn/news/1534126.html

相关文章

PC端微信小程序如何调试?

向往常一样运行开微信小程序开发者工具 如果只弹出pc端小程序,没有出现调试的界面:点击胶囊按钮的三个…选择重新进入小程序 即可依次展开相应的功能调试,改完代码没反应再刷新看看,再没反应就再次重新点击编译并自动调试。

VUE前后端分离毕业设计题目项目有哪些,VUE程序开发常见毕业论文设计推荐

目录 0 为什么选择Vue.js 1 Vue.js 的主要特点 2 前后端分离毕业设计项目推荐 3 后端推荐 4 总结 0 为什么选择Vue.js 使用Vue.js开发计算机毕业设计是一个很好的选择,因为它不仅具有现代前端框架的所有优点,还能让你专注于构建高性能、高可用性的W…

7-1 jmu-Java-04面向对象进阶--02-接口-Comparator

Arrays.sort可以对所有实现Comparable的对象进行排序。但如果有多种排序需求,如有时候需对name进行降序排序,有时候只需要对年龄进行排序。使用Comparable无法满足这样的需求。可以编写不同的Comparator来满足多样的排序需求。 1.编写PersonSortable2类…

Library介绍(三)

环境描述 工作条件 一般lib文件里面包含了芯片的工作条件即operation conditions,其指定了工艺(process)、温度(temperature)和电压(voltage),见图1。 其中,process代表了…

10.2今日错题解析(软考)

目录 前言面向对象技术——设计模式的应用场景系统开发基础——概要设计与详细设计 前言 这是用来记录我备考软考设计师的错题的,今天知识点为设计模式的应用场景、概要设计与详细设计,大部分错题摘自希赛中的题目,但相关解析是原创&#xf…

docker的安装与启动——配置国内Docker源

移除旧版本docker sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 配置docker yum源。 sudo yum install -y yum-utils sudo yum-config-manager –add-repo ht…

无人机科普研学基地建设技术详解

无人机科普研学基地的建设技术详解涉及多个方面,包括基地建设规划、主要功能区划分、配套设备与系统、课程设计与实施等。以下是对这些方面的详细阐述: 一、基地建设规划 1. 目标定位:无人机科普研学基地旨在通过实践和学习活动,…

【H2O2|全栈】关于CSS(9)CSS3扩充了哪些新鲜的东西?(二)

目录 CSS3入门 前言 准备工作 伪元素补充 :before :after 文本溢出属性 转换效果 预告和回顾 后话 CSS3入门 前言 本系列博客主要介绍CSS相关的知识点。 这一期主要介绍以下几个CSS3的知识点: 伪元素补充文本溢出属性转换 没有基础的朋友&#xff…