我使用 制作了一个简单的代理服务器nc
,这里是单线:
mkfifo queueueue
nc -l 8080 <queueueue | nc http://$JENKINS_HOSTNAME 80 >queueueue
它侦听端口 8080,然后将数据转发到与我们的 Jenkins 服务器的连接。Jenkins 在 VPN 后面,我运行此代理的机器具有 VPN 访问权限。
在我的另一台机器上(没有 VPN 访问权限),我想访问curl
Jenkins 服务器,这是通过代理发起请求的命令:
http_proxy=10.1.10.10:8080 curl --user $JENKINS_USERNAME:$JENKINS_PASSWORD http://$JENKINS_HOSTNAME/api/json
客户端和代理机器都在同一个网络上,我可以在它们之间ping和ssh,另外,我知道客户端正在连接代理服务器,我认为客户端尝试身份验证时会出现故障,这里是我尝试卷曲时的输出:
$ http_proxy=10.1.10.10:8080 curl --user $JENKINS_USERNAME:$JENKINS_PASSWORD http://$JENKINS_HOSTNAME/api/json
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="<some other url>">here</a>.</p>
<hr>
<address>Apache Server at $JENKINS_HOSTNAME Port 80</address>
</body></html>
如何使用 HTTP 基本身份验证通过这样的代理卷曲?