小编mas*_*ann的帖子

Java:-Dhttps.proxyHost 未使用

我有一个在 EC2 中的 Tomcat 上运行的 java 应用程序,我想通过代理到达不同的 EC2 端点。让我们调用源https://source.com、目标https://destination.com和代理https://proxy.com

我的症状如下:

  1. 从我的源服务器访问端点是有效的:
    • wget destination.com返回一个输出,包括连接到代理,然后destination.com使用 200 ok 连接。
  2. 当我尝试通过源上的 API 使用 postman 进行调用时,出现以下错误:

org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://destination.com": Connect to destination.com:80 ... connect timed out; nested exception is org.apache.http.conn.ConnectTimeoutException

我做过的事情:

  • 验证 http 和 https 代理是否已导出
    • 我将这两个导出为环境变量:
    • http_proxy=http://destination.com:80 https_proxy=http://destination.com:80
  • 验证 java_opts 是否也包含代理信息:

    • 运行ps -ef | grep app_name返回以下结果:

    • -Dhttp.proxyHost=destination.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=destination.com -Dhttps.proxyPort=80

即使导出了这些信息并在 java_opts 中(在 中设置setenv.sh),API 似乎也没有使用代理来到达目的地,因为从服务器中,我可以使用 wget/curl 通过代理到达端点。是否还有其他我错过的原因/位置导致 …

java proxy tomcat amazon-ec2 amazon-web-services

1
推荐指数
1
解决办法
2075
查看次数

使用指针C++进行转换

说我有一个对象:

void *tmpValue;
Run Code Online (Sandbox Code Playgroud)

并说我知道tmpValue指向一个双倍.将其转换为double的方法是执行以下操作:

double* dblPtr = (double*) tmpValue;
double dbl = *dblPtr;
Run Code Online (Sandbox Code Playgroud)

但是为什么从void*到double的直接铸造不起作用?

double dbl = (double) tmpValue; //error: "cannot convert from 'void*' to 'double'
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++ pointers casting

0
推荐指数
1
解决办法
157
查看次数

标签 统计

amazon-ec2 ×1

amazon-web-services ×1

c++ ×1

casting ×1

java ×1

pointers ×1

proxy ×1

tomcat ×1