加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何代理在docker容器中运行的dotnet核心应用程序的每个请

发布时间:2020-12-15 21:04:17 所属栏目:百科 来源:网络整理
导读:我正在努力从一个运行在docker容器代理http请求上的web api获取我的http调用.我已经使用bash通过代理成功到达了所需的端点 docker exec -i -t 665b4a1e17b6 /bin/bash 和 http_proxy=http://exampleProxy:7777 curl -s http://endpoint 现在我想从在同一容器
我正在努力从一个运行在docker容器代理http请求上的web api获取我的http调用.我已经使用bash通过代理成功到达了所需的端点

docker exec -i -t 665b4a1e17b6 /bin/bash

http_proxy=http://exampleProxy:7777 curl -s http://endpoint

现在我想从在同一容器上运行的应用程序中重新创建它

我尝试过以下方法:

> dotnet core proxy

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....

谁能想到设置代理的其他方法?或者有关如何调试的建议?

解决方法

我不是一个dotnet专家,不知道你的应用程序是如何运行的,所以我假设你像普通的nginx一样运行你的应用程序.
我建议你像这样运行你的应用程序sh -c your_app,这意味着你可以将你的docker cmd设置为sh -c your_app.

希望这能解决你的问题.

顺便说一句,这个问题与kubernetes无关,你可能有一个错误的标签;)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读