coo*_*e89 5 c# proxy docker .net-core
我正在努力从在 docker 容器代理 http 请求上运行的 Web api 获取 http 调用。我已使用 bash 通过代理成功到达所需的端点
docker exec -i -t 665b4a1e17b6 /bin/bash
Run Code Online (Sandbox Code Playgroud)
和
http_proxy=http://exampleProxy:7777 curl -s http://endpoint
Run Code Online (Sandbox Code Playgroud)
现在我想从在同一容器上运行的应用程序内重新创建它
我已经尝试过以下方法:
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseMvc().RunProxy(new ProxyOptions
{
Scheme = "http",
Host = "example",
Port = "7777"
});
Run Code Online (Sandbox Code Playgroud)创建容器时设置 http_proxy 环境变量
export http_proxy=http://example:7777
Run Code Online (Sandbox Code Playgroud)使用 HttpClientHandler
var handler = new HttpClientHandler
{
Proxy = new WebProxy("http://example:777)
};
var client = new HttpClient(handler);
etc....
Run Code Online (Sandbox Code Playgroud)有人能想到其他设置代理的方法吗?或者关于如何调试这个的任何建议?
小智 0
我不是 dotnet 专家,也不知道你的应用程序是如何运行的,所以我只是假设你像普通的 nginx 一样运行你的应用程序。我建议您像这样运行您的应用程序sh -c your_app,这意味着您可以将 docker cmd 设置为sh -c your_app.
希望这能解决您的问题。
顺便说一句,这个问题与 kubernetes 无关,您可能有错误的标签;)
| 归档时间: |
|
| 查看次数: |
835 次 |
| 最近记录: |