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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ewebeditor漏洞大全

    ewebeditor漏洞大全1:默认管理后台: http://www.backlion.com/ewebeditor/admin_login.asp后台如果能进入:可点击样式管理:standard拷贝一份(直接修改改不了)在拷贝的一份里加入图片类型(asaaaspsp)  然后点预览在编辑器里点设计   然后直接上传asa大马.上传后在代码里可以看到马的位置!

    2022年7月14日
    75
  • PHP方法,传入的参数前带三个点是什么意思?

    PHP方法,传入的参数前带三个点是什么意思?

    2022年2月14日
    61
  • C语言飞机游戏

    C语言飞机游戏300行代码实现最简易的飞机小游戏,简单有趣,快来试试

    2022年5月12日
    44
  • harmonyos系统与安卓区别(uAndroid)

    目录一、前言二、HarmonyOS与Android的对比2.1HarmonyOS并不是Android的替代品2.2系统定位2.3内核对比2.4运行速度三、方舟编译器一、前言这段时间我在寻思这学习一下鸿蒙,第一是因为在着手做一个自己的开源项目,技术选型的时候想到了鸿蒙;第二是我个人非常看好鸿蒙系统的未来,清除明白华为和一些民族企业担负的责任和国人的期待,虽然带着一些民族感情;鸿蒙刚发布的时候自己是非常激动的,但是后来项目太忙一直没有认真的去了解过,这次打算花一部

    2022年4月13日
    159
  • mysql分区之range分区「建议收藏」

    mysql分区之range分区「建议收藏」随着互联网的发展,各方面的数据越来越多,从最近两年大数据越来越强的呼声中就可见一斑。我们所做的项目虽算不上什么大项目,但是由于业务量的问题,数据也是相当的多。数据一多,就很容易出现性能问题,而为了解决这个问题我们通常很容易想到集群、分片等。但是在某些时候却不一定必须要用集群、分片,也可以适当的使用数据分区。什么是分区?(以下引用自:http://wangweiak47.blog.51

    2022年5月7日
    42
  • datagrip mac 激活码_在线激活2022.02.16

    (datagrip mac 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~FZ…

    2022年4月1日
    70

发表回复

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

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