标签: http-proxy

如何在 Phoenix 框架中转发客户端请求,充当代理?

我想充当我的应用程序中某些请求的代理。例如:如果用户请求链接“ http://myapp/proxy ”,我想将请求转发到外部网站并检索对用户的响应。这里的问题是我不想进行 URL 重定向,但我想代表用户转发客户端请求。

我如何使用 Phoenix 框架来做到这一点?

proxy http-proxy phoenix-framework

4
推荐指数
1
解决办法
2146
查看次数

Docker容器虚拟主机SSL配置

我有以下设置并且工作正常(我在 Docker 1.6 上):

在此处输入图片说明

一个 Docker 容器充当在各个 Docker 容器中运行的其他 Web 应用程序的虚拟主机代理。(我应该补充一点,我不是配置服务器或网络方面的高手。)

我一直在尝试将 SSL 添加到设置中,但收效甚微。每个容器在主机上挂载证书的文件目录。例如,一旦我使用以下命令运行容器:

docker run -d -P --name build \
    -v /home/applications/src/ssl-cert:/etc/ssl/certs \
    -e "DBL=mysql:dbname=build;host=192.168.0.1;port=3306" \
    -e "DB_USER=foo" -e "DB_PASS=bar" \
    --link mysql56:mysql \
    --add-host dockerhost:`/sbin/ip addr | grep 'eth0' | grep 'inet' | cut -d'/' -f1 | awk '{print $2}'` \
    -p 8001:80 -p 4431:443 \
     repos/build:latest
Run Code Online (Sandbox Code Playgroud)

如果我尝试连接,https://build.example.com我会收到证书错误并且无法连接。容器的 Apache 配置在证书文件的 default-ssl.conf 中有适当的配置(如果这是一个独立的实例,它可以工作):

<VirtualHost _default_:443>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/

    # Enable/Disable SSL for this virtual host.
    SSLEngine …
Run Code Online (Sandbox Code Playgroud)

apache ssl virtualhost http-proxy docker

4
推荐指数
1
解决办法
5756
查看次数

使用公司代理测试容器

不同测试容器的每次启动都会抛出com.github.dockerjava.api.exception.InternalServerErrorException: {"message":"Get https://quay.io/v1/_ping: dial tcp x.x.x.x: getsockopt: connection refused"}

这并不奇怪(docker 背后有一个公司代理)。如何配置 testcontainers 使用特定的 HTTP 代理?

另一种方法可能是禁用“ping”命令并​​使用我们公司的 docker 存储库。

java http-proxy docker docker-java testcontainers

4
推荐指数
1
解决办法
3736
查看次数

使用自定义传输时如何编程 Go 以使用代理?

如何根据代理环境变量编写自动使用代理的 Go 程序?

go get本身支持标准的代理环境变量,但我说的是围棋程序/代码本身。

这个博客说,

默认情况下,http.Client 在处理任何 http.Request 之前检查 HTTP_PROXY 和 HTTPS_PROXY 变​​量。

我试过了,但它不适用于我的以下代码:

tr := &http.Transport{
    TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
resp, err := client.Get(url)
Run Code Online (Sandbox Code Playgroud)

proxy go http-proxy

4
推荐指数
2
解决办法
7454
查看次数

通过 http-proxy-middleware 零响应

我正在尝试在 Express 中调试代理,使用http-proxy-middleware,但无论我做什么,我都得到绝对零响应。端点发送响应,但代理永远不会返回响应,也永远onProxyRes不会触发事件。此外,端点可以通过curlInsomnia、fetchAPI直接访问,并request-promise用作我们客户的 API。

即使设置如此简单:

app.use('/api', proxy({
  target: 'https://my.secret.endpoint',
  changeOrigin: true
});
Run Code Online (Sandbox Code Playgroud)

除了ECONNRESET超时后,我得到绝对零响应。有什么建议?

javascript http-proxy express http-proxy-middleware

4
推荐指数
1
解决办法
4193
查看次数

aiohttp 是否支持 HTTPS 代理

当我尝试通过 HTTPS 代理发出请求时 -

async with session.get(
    url
    headers={"k": v},
    proxy='https://my-proxy.com:1234',
) as response:
    resp_json = await response.json()
Run Code Online (Sandbox Code Playgroud)

我的请求失败,但出现以下异常:

raise ValueError("Only http proxies are supported")
Run Code Online (Sandbox Code Playgroud)

这对应于源代码

然而,文档说支持 HTTPS 代理。

这是文档中的疏忽还是我做错了?

python https proxy http-proxy aiohttp

4
推荐指数
1
解决办法
2564
查看次数

Windows 上的 .net core 3.0 忽略了 NO_PROXY

我们正在尝试让代理功能在 Windows 上的 .Net Core 3.0(或 3.1)应用程序中工作。我们发现 HTTPS_PROXY 和 HTTP_PROXY 变​​量按预期识别和处理,但默认代理似乎不支持 NO_PROXY 变​​量。这是示例代码:

 HttpClient client = new HttpClient();
 IWebProxy myProxy = HttpClient.DefaultProxy;
 Uri target = new Uri(args[0]);
 Uri proxy = myProxy.GetProxy(target);
 Console.WriteLine($"Target proxy for {target} is {proxy} {myProxy.IsBypassed(target)}");
Run Code Online (Sandbox Code Playgroud)

如果我从 Powershell 运行它:

if (-not $env:path.Contains('c:\data\src')) {
    $env:path = "$env:Path;C:\data\src\Local\DefaultProxy\bin\Debug\netcoreapp3.0"
}
$env:HTTPS_PROXY = 'http://10.11.10.10'
$env:NO_PROXY = '*'
DefaultProxy https://www.contoso.com
Run Code Online (Sandbox Code Playgroud)

我得到:https://www.contoso.com/ 的目标代理是http://10.11.10.10/ False

我希望得到空白和真实。

我应该更改什么才能使用 NO_PROXY 从默认代理中排除域?

c# http-proxy dotnet-httpclient .net-core-3.0

4
推荐指数
1
解决办法
1859
查看次数

禁用本地地址的开瓶器

我有一个关于Corkscrew的问题,我用它来通过HTTP代理获得SSH.SSH适用于外部主机,但不适用于本地主机.如何禁用SSH以通过HTTP-Proxy连接到本地服务器?我想这就是我得到的问题:

root@V01-XXXX:~# ssh root@172.XX.XX.8
Proxy could not open connnection to 172.XX.XX.8:  Forbidden
ssh_exchange_identification: Connection closed by remote host
Run Code Online (Sandbox Code Playgroud)

我的/ etc/ssh/ssh_config文件包含:

Host *
ProxyCommand /usr/bin/corkscrew proxy.ezorg.nl 8080 %h %p
Run Code Online (Sandbox Code Playgroud)

提前致谢!

ssh local http-proxy

3
推荐指数
1
解决办法
2579
查看次数

如何使用node.js http-proxy记录计算机中的HTTP流量?

我正在尝试实现最简单的示例:

var http = require('http'),
var httpProxy = require('http-proxy');

httpProxy.createServer(function (req, res, proxy) {
    //
    // I would add logging here
    //
    proxy.proxyRequest(req, res, { host: 'www.google.com', port: 80 });
}).listen(18000);
Run Code Online (Sandbox Code Playgroud)

当我将浏览器配置为使用此代理并导航到www.google.com时,我没有收到任何回复.我做错了什么?

我正在使用Windows 7 Chrome

javascript http http-proxy node.js node-http-proxy

3
推荐指数
1
解决办法
8750
查看次数

RestSharp不接受RestRequest请求。凭据-无法通过HTTP代理获取

使用下面的简单代码,RestClient无法通过Web代理访问。它不尊重请求的价值。

我可以在浏览器中访问要查询的网站;但是RestClient被我公司的代理阻止了。

try
{
    RestClient client = new RestClient("http://services.groupkt.com/country/get/all");
    RestRequest request = new RestRequest(Method.POST);

    //set credentials to default
    request.Credentials = System.Net.CredentialCache.DefaultCredentials;

    //also tried using client.UserAgent to spoof Firefox user-agent to no avail

    request.AddHeader("cache-control", "no-cache");
    request.AddHeader("content-type", "application/x-www-form-urlencoded");

    IRestResponse response = client.Execute(request);
    textBox1.Text = response.Content;
}
catch (Exception ex)
{
    textBox1.Text = "ERROR:" + ex.Message;
}
Run Code Online (Sandbox Code Playgroud)

所以我在textBox1中最终得到的是html,它呈现为:

仅授权

Secure Web Gateway已阻止您的请求,因为您尚未获得授权并且需要授权。

网址:

用户名/来源:/ 10.xx.xx.xx

规则集:使用Kerberos和NTLM后备身份验证进行身份验证/身份验证

使用Kerberos(不评估NTLM令牌)

重要说明:当您访问Internet网页时,您应该遵守[CompanyName] Internet过滤的授权批准。

产生2017-05-05 15:04:08

RestSharp 104.1.0.0

换句话说,RestSharp不会像默认的那样将默认凭据传输到Web代理。

c# http-proxy restsharp

3
推荐指数
1
解决办法
4878
查看次数