我有两个我无法改变的应用程序:
答:提供受HTTP基本身份验证保护的URL。 B:需要访问此URL但不支持基本身份验证。 证书可用。
如何让我的两个应用程序协同工作?
我认为本地代理可能很棒,它会注入身份验证。例如。使用socat:
socat TCP4-LISTEN:81,reuseaddr,fork TCP:UrlToA:80,<inject-basic-auth>=user:pass
然而,socat没有提供像&lt; inject-basic-auth&gt;。有人知道任何可能有帮助的工具吗?还有其他出路吗?
答案 0 :(得分:2)
您必须设置一个HTTP反向代理服务器,为您执行身份验证。无需破解任何软件。
您的反向代理侦听某个套接字(例如代理:8080)并将请求转发到您的实际应用程序A,插入标头。
client_B ----> http://proxy:8080 -----> http://server_A:80
Nginx轻巧,高性能且易于设置。并且很容易在线找到您想要的文档。 请参阅示例http://wiki.apache.org/couchdb/Nginx_As_a_Reverse_Proxy
答案 1 :(得分:0)
这个问题似乎非常具体。所以你可能找不到一个随时可用的工具。
如果你想自己做,最好的方法可能是扩展socat:
http://www.dest-unreach.org/socat/download/socat-1.7.2.2.tar.gz
祝你好运!