Squid 代理记录 TCP_DENIED/407 和 TCP_TUNNEL/200

问题描述 投票:0回答:0

我在 ec2 上运行 squid 代理服务器,我所做的唯一 squid.conf 更改如下(在 squid.conf 文件的顶部)

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
acl squid_users proxy_auth REQUIRED
http_access allow squid_users

我现在在本地运行一个 spring boot kotlin 应用程序,并使用 RestTemplate 调用在 ec2 服务器上运行的另一个服务(我们称之为 RemoteServer)。下面是使用 BasicAuth 创建 RestTemplate 的代码。

var restTemplate = RestTemplate()
    val credentialsProvider = BasicCredentialsProvider()
    credentialsProvider.setCredentials(
        AuthScope(PROXY_SERVER_HOST, PROXY_SERVER_PORT),
        UsernamePasswordCredentials("username", "password")
    )
        val proxy = HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT)
        val httpClient = HttpClientBuilder.create()
            .setRoutePlanner(object : DefaultProxyRoutePlanner(proxy){
                override fun determineProxy(target: HttpHost, request: HttpRequest, context: HttpContext): HttpHost {
                    return super.determineProxy(target, request, context)
                }
            })
            .setDefaultCredentialsProvider(credentialsProvider).disableCookieManagement()
            .build()
    

    restTemplate.setRequestFactory(HttpComponentsClientHttpRequestFactory(httpClient))
    val headers = HttpHeaders()



    headers.contentType = MediaType.APPLICATION_JSON;
    headers.accept = Collections.singletonList(MediaType.APPLICATION_JSON);
val request: HttpEntity<*> = HttpEntity<Any?>(headers)
        val response: ResponseEntity<String> = restTemplate.exchange<String>(
            uri,
            HttpMethod.GET,
            request,
            String::class.java
        )

请求成功,我在本地服务器上收到响应。但是我在 squid 的 access.log 文件中看到了两个日志。第一行是 TCP_DENIED/407,第二行是 TCP_TUNNEL/200。

1678210437.315      0 <IP> TCP_DENIED/407 4036 CONNECT <api_url>:443 - HIER_NONE/- text/html
1678210460.537  23182 <IP> TCP_TUNNEL/200 6331 CONNECT <api_url>:443 user1 HIER_DIRECT/<IP> -

当我从具有 squid 代理身份验证的浏览器调用 RemoteServer 的相同 API 时。我在 TCP_TUNNEL/200 的 access.log 文件中只得到一行。

使用restTemplate时无法理解附加的TCP_DENIED/407

resttemplate squid
© www.soinside.com 2019 - 2024. All rights reserved.