Pelayan aplikasi (Tomcat) dan pelayan proksi (Nginx) berada pada pelayan yang berbeza, dan pelayan aplikasi tidak boleh terus mengakses rangkaian luaran permintaan HTTP untuk mengakses rangkaian luaran hanya boleh dihantar melalui Nginx正向代理
apache.http.client
/** 正向代理地址 */
private static HttpHost forwardProxy = new HttpHost(host, forwardPort, forwardSchema);
HttpClientBuilder builder = HttpClients.custom().setDefaultRequestConfig(globalConfig).setKeepAliveStrategy(keepAliveStrat);
if (isForward) {
builder.setProxy(forwardProxy);
}
this.httpClient = builder.build();
server {
listen 8092;
location / {
# 配置 DNS 解析 IP 地址,以及超时时间,
resolver 219.149.6.99 114.114.114.114;
resolver_timeout 30s;
proxy_pass $scheme://$host$request_uri;
# proxy_set_header 部分的配置,是为了解决如果 URL 中带 "."(点)后 Nginx 503 错误
proxy_set_header Host $http_host;
# 配置缓存大小,关闭磁盘缓存读写减少I/O,以及代理连接超时时间
proxy_buffers 4 256k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 30;
# 配置代理服务器 Http 状态缓存时间
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
}
access_log logs/proxy-$host-aceess.log main;
error_log logs/proxy-$host-error.log;
}
Cara di atas betul. HTTPS
请求貌似不起作用,不用回复Nginx就是不支持正向代理HTTPS,我只想评估这种场景的解决方案
Proksi anda di sini ialah $scheme://$host$request_uri;
Tiada sesiapa yang mempunyai sebarang idea?