我正在打电话 curl -v ... https://... 并且详细输出包含 .... * ALPN, offering http/1.1 * SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256 * server certificate verification OK .... * ALPN, server did not agree to a protocol * Server auth using Basic with user 'api' > POST /v3/pindertek.com/messages HTTP/1.1 > Host: api.mailgun.net > Authorization: …
这是关于我的问题的一些背景: 我在Heroku上运行的Web服务带有一个动态IP地址。Heroku上的静态IP不是一个选项。 我需要连接到防火墙后面的外部Web服务。操作外部Web服务的人员只会将其防火墙打开到特定的静态IP。 我尝试的解决方案是在具有静态IP的单独服务器上使用Squid,将来自Heroku的请求转发到外部服务。这样,外部服务将始终看到代理服务器的静态IP,而不是Heroku服务的动态IP。 由于我的代理服务器不能依赖IP地址进行身份验证(这就是开始的问题!),因此它必须依赖用户名和密码。此外,用户名和密码不能以明文形式传输,因为如果攻击者拦截该明文,则他们可以连接到我的代理并假装是我,使用我的代理的静态IP发出出站请求,从而逃避了外部Web服务的防火墙。 因此,Squid代理必须仅接受通过HTTPS(而不是HTTP)的连接。(到外部Web服务的连接可能是HTTP或HTTPS。) 我在CentOS 6.5.x上运行Squid 3.1.10,这是我squid.conf到目前为止的事情。仅出于故障排除的目的,我已临时启用HTTP和HTTPS代理,但我只想使用HTTPS。 # # Recommended minimum configuration: # acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 # Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing …