を使用して単純なプロキシ サーバーを作成しましたnc
。ここにワンライナーを示します。
mkfifo queueueue
nc -l 8080 <queueueue | nc http://$JENKINS_HOSTNAME 80 >queueueue
ポート 8080 でリッスンし、Jenkins サーバーへの接続にデータを転送します。Jenkins は VPN の背後にあり、このプロキシを実行しているマシンには VPN アクセスがあります。
curl
他のマシン (VPN アクセスなし) で、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 基本認証を使用して、このようなプロキシを介してカールするにはどうすればよいですか?