我们正在用 Java 创建一个反向代理应用程序,它只是将请求转发到下游系统并获取响应并将其发送回 UI。
为此,我们开始使用 Apache HttpClient 库。当我们像下面这样配置时,Http 客户端执行工作完美。它正在处理所有请求(GET、POST、PUT、DELETE)。它是以通用方式制作的。
HttpRequest request = null;
if (request.getHeader(HttpHeaders.CONTENT_LENGTH) != null
|| request.getHeader(HttpHeaders.TRANSFER_ENCODING) != null) {
HttpEntityEnclosingRequest proxyRequest = new BasicHttpEntityEnclosingRequest(method, requestUri);
proxyRequest.setEntity(new InputStreamEntity(servletRequest.getInputStream(), getContentLength(servletRequest)));
} else {
proxyRequest = new BasicHttpRequest(method, requestUri);
}
request = proxyRequest;
HttpResponse response = httpClient.execute(new HttpHost("http://custdomain.com", 8443, "https"),request);
但是当我尝试只使用没有端口号的 url 时,我无法连接到下游系统。
HttpResponse response = httpClient.execute(new HttpHost("http://custdomain.com",-1, "https"),request);
请提出建议。
蝴蝶刀刀
相关分类