2

我有两个无法更改的应用程序:

A:提供了一个受HTTP基本认证保护的URL。B:需要访问这个网址但不支持基本认证。凭证可用。

如何让我的两个应用程序一起工作?

我认为注入身份验证的本地代理可能很棒。例如使用 socat:

socat TCP4-LISTEN:81,reuseaddr,fork TCP:UrlToA:80,<inject-basic-auth>=user:pass

但是,socat 不提供像 <inject-basic-auth> 这样的选项。有人知道任何可能有帮助的工具吗?还有其他出路吗?

4

2 回答 2

4

您必须设置一个 HTTP 反向代理服务器来为您进行身份验证。无需破解任何软件。

您的反向代理侦听某个套接字(例如 proxy:8080)并将请求转发到您的实际应用程序 A,插入标头。

client_B ----> http://proxy:8080 -----> http://server_A:80

Nginx 是轻量级、高性能且易于设置的。并且很容易在线找到您想要的文档。参见例如http://wiki.apache.org/couchdb/Nginx_As_a_Reverse_Proxy

于 2014-02-17T18:02:11.290 回答
-1

这个问题似乎很具体。因此,您可能找不到现成的工具。

如果你想自己做,你最好的方法可能是扩展 socat:

http://www.dest-unreach.org/socat/download/socat-1.7.2.2.tar.gz

祝你好运!

于 2013-09-10T09:03:52.997 回答