我正在努力从运行在docker容器代理http请求上的web api获取我的http调用。我使用bash
成功通过代理到达了所需的端点docker exec -i -t 665b4a1e17b6 /bin/bash
和
http_proxy=http://exampleProxy:7777 curl -s http://endpoint
现在我想在同一个容器上运行的应用程序中重新创建它
我尝试了以下内容:
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseMvc().RunProxy(new ProxyOptions
{
Scheme = "http",
Host = "example",
Port = "7777"
});
在创建容器时设置http_proxy环境变量
export http_proxy=http://example:7777
使用HttpClientHandler
var handler = new HttpClientHandler
{
Proxy = new WebProxy("http://example:777)
};
var client = new HttpClient(handler);
etc....
有人能想到设置代理的其他方法吗?或者有关如何调试的建议?
答案 0 :(得分:0)
我不是dotnet专家,也不确定您的应用是如何运行的,所以我假设您像普通的nginx一样运行您的应用。
我建议您按照此sh -c your_app
运行您的应用,这意味着您可以将docker cmd设置为sh -c your_app
。
希望这能解决您的问题。
顺便说一句,这个问题与kubernetes无关,你可能有错误的标签;)