uat环境和生产环境的区别_angular 生产环境 相对路径无效

uat环境和生产环境的区别_angular 生产环境 相对路径无效 本人研发小白一名,时间:2017年12月21(周四),坐标:上海。项目上线,测试环境正常,上UAT环境后访问不到数据,于是开始步步分析,细细琢磨,最终成功上UAT,但影响了上生产环境的时间,造成项目延时发布,第一次遇到这么奇怪的事情,之后就是2017年12月26(周二)的上生产环境,不过可怕的事情还是发生了:本地、测试、UAT环境都正常,生产环境有访问不到数据,直到12月27号2:00才解决,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

  本人研发小白一名,时间:2017年12月21(周四),坐标:上海。项目上线,测试环境正常,上UAT环境后访问不到数据,于是开始步步分析,细细琢磨,最终成功上UAT,但影响了上生产环境的时间,造成项目延时发布,第一次遇到这么奇怪的事情,之后就是2017年12月26(周二)的上生产环境,不过可怕的事情还是发生了:本地、测试、UAT环境都正常,生产环境有访问不到数据,直到12月27号2:00才解决,以上是问题情景。

这边也想了很长时间:为什么UAT环境代码好好的,正式环境就不行了,拉的是一套代码,不同的地方就是Disconf配置文件了(这里我前后核对了不下六遍,前两遍确实有问题及时做了修改,最后一遍我是一个一个字核对的委屈)。无奈只好各种打Logger看日志,最后抓取到问题点是httpClient工具类的问题,前后重新写了三次httpClient工具类,最终皇天不负有心人。。。以下是我这边出现访问不到数据的三个情况:

1、Disconf环境配置文件的配置(本地、测试、UAT及生产环境都会有所差别),具体看各个环境的访问地址;

2、系统中访问的子系统接口是否同步上了相应的环境,在相应环境上直接访问接口验证是否部署成功;

3、httpClient工具类中http和https是有区别的,线上环境和UAT环境一定要是https://开头的(从发现这个问题和解决花了我不少时间),https是要有安全协议的,下面是我最后成功的httpClient工具类:

 

import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Map;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

public class HttpsUtils{
	
	public String doGetForHttps(String url, Map<String, String> map, String charset) {
		  HttpClient httpClient = null;
		  String result = null;
		  try {
		   httpClient = new SSLClient();
		   HttpGet httpGet = new HttpGet(url);

		   HttpResponse response = httpClient.execute(httpGet);
		   if (response != null) {
		    HttpEntity resEntity = response.getEntity();
		    if (resEntity != null) {
		     result = EntityUtils.toString(resEntity, charset);
		    }
		   }
		  } catch (Exception ex) {
		   ex.printStackTrace();
		  }
		  return result;
		 }

		 class SSLClient extends DefaultHttpClient {
		  public SSLClient() throws Exception {
		   super();
		   SSLContext ctx = SSLContext.getInstance("TLS");
		   X509TrustManager tm = new X509TrustManager() {
		    @Override
		    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
		    }

		    @Override
		    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
		    }

		    @Override
		    public X509Certificate[] getAcceptedIssuers() {
		     return null;
		    }
		   };
		   ctx.init(null, new TrustManager[] { tm }, null);
		   SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
		   ClientConnectionManager ccm = this.getConnectionManager();
		   SchemeRegistry sr = ccm.getSchemeRegistry();
		   sr.register(new Scheme("https", 443, ssf));
		  }
		 }

这边都是用Get方式访问的,做的BI报表。。。当然对大牛来是比较简单(不喜勿喷),个人觉得问题确实不复杂,但是要足够耐心去解决,希望能对我们这些初学者有一定的帮助,代码人生~~~共同成长,加油!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187615.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 将文件导入到数据库中_将csv文件导入mysql数据库

    将文件导入到数据库中_将csv文件导入mysql数据库如何将 .sql数据文件导入到SQLsever中?我一开始是准备还原数据库的,结果出现了如下问题。因为它并不是备份文件,所以我们无法进行还原。正确方式:先打开SQLsever2008然后登录,假如出现如下问题则是“对象资源管理器”未开启解决办法,我们打开SQL配置管理器 然后这里是暂停或者是已停止,我们将其打开就行。

    2022年9月27日
    0
  • python打包小程序[通俗易懂]

    概述pyinstaller是一个十分有用的第三方库,能够在Windows,Linux、MacOSX等操作系统下将Python源文件打包。通过打包可以在没有Python的环境中运行。pipinstaller需要在命令行用pip3安装pip3installpyinstallerpyinstaller库会自动将pyinstaller命令安装到Python解释器目录中,与pip3的命令路…

    2022年4月13日
    32
  • phpstorm 2021.5激活码【在线注册码/序列号/破解码】[通俗易懂]

    phpstorm 2021.5激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    34
  • Python语言有哪些数据类型「建议收藏」

    Python语言有哪些数据类型「建议收藏」在Python中,能够直接处理的数据类型有以下几种:一、整数Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,…

    2022年5月28日
    28
  • 2022Android SDK下载与安装

    2022Android SDK下载与安装一、下载sdk:https://www.androiddevtools.cn找个合适的位置解压双击“SDKManager.exe”,启动SDKManager安装工具我们可以通过有AndroidSDK的国内镜像服务器来下载安装,这里推荐几个:1、中科院开源协会镜像站地址:IPV4/IPV6:http://mirrors.opencas.ac.cn端口:802、北京化工大学镜像服务器地址:IPv4:http://ubuntu.buct.edu.cn/端口:80IPv

    2022年7月19日
    16
  • 矢量网络分析仪原理图_矢量网络分析仪

    矢量网络分析仪原理图_矢量网络分析仪网络分析仪组成框图图1所示为网络分析仪内部组成框图。为完成被测件传输/反射特性测试,网络分析仪包含;1.激励信号源;提供被测件激励输入信号2.信号分离装置,含功分器和定向耦合器件,分别提取被测试件输入和反射信号。3.接收机;对被测件的反射,传输,输入信号进行测试。4.处理显示单元;对测试结果进行处理和显示。图1网络分析仪组成框图传…

    2022年8月11日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号