2016-12-16 50 views
4

我正在努力從運行在docker容器代理http請求上的web api獲取我的http調用。我使用bash我如何代理在Docker容器中運行的一個dotnet核心應用程序的每個請求

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

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

成功殺入通過代理所需的端點現在我想從同一個容器上運行的應用程序中創建此

我曾嘗試以下:

  1. dotnet core proxy

    loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
        loggerFactory.AddDebug(); 
    
        app.UseMvc().RunProxy(new ProxyOptions 
        { 
         Scheme = "http", 
         Host = "example", 
         Port = "7777" 
        }); 
    
  2. 設置在容器創建

    export http_proxy=http://example:7777 
    
  3. 環境變量http_proxy使用HttpClientHandler

    var handler = new HttpClientHandler 
    { 
        Proxy = new WebProxy("http://example:777) 
    }; 
    var client = new HttpClient(handler); 
    etc.... 
    

誰能想到其他的方法來設置代理?或者有關如何調試的建議?

回答

0

我不是一個dotnet專家,也不確定你的應用程序是如何運行的,所以我只是假設你像普通的nginx一樣運行你的應用程序。 我建議你像這樣運行你的應用程序sh -c your_app,這意味着你可以將你的docker cmd設置爲sh -c your_app

希望這會解決您的問題。

順便說一下,這個問題與kubernetes無關,您可能有錯誤的標記;)

相關問題