问题标签 [http-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
607 浏览

node.js - 使用 node-http-proxy 代理时是否可以在服务器上指定目录?

我使用 http-proxy 将任何 php 请求代理到 apache,但我不知道如何代理到服务器上的目录……例如,如果它是一个 php 文件,我说:localhost:8090/bar.php -> localhost:80/bar.php 但我想代理到 localhost:80/foo/bar.php 我想远离任何 URL 重写。谢谢

0 投票
2 回答
2178 浏览

windows - Git 和 http_proxy(Windows 上的 SparkleShare 和 http_proxy)

我刚刚根据指南成功地为 Windows 构建了 SparkleShare:

https://github.com/wimh/SparkleShare/wiki

并将我的 ssh 公钥导出到服务器。问题是我无法从 http_proxy 后面的客户端连接到在自定义端口上运行 ssh 的公共服务器。我也有克隆任何 git 服务器的问题。我需要将 git:// 协议切换到 http:// 一个。有什么建议吗?有没有人有类似的经历?

这是一个日志文件:

15:25:13 [SSH] ssh-agent 启动,PID=4380 添加身份:C:\Users\MYUSER\AppData\Roaming\sparkleshare\sparkleshare.MYEMAIL.key (C:\Users\sg0922706\AppData\Roaming\sparkleshare \sparkleshare.MYEMAIL.key) 15:25:34 [Fetcher][C:\Users\MYUSER\Documents\SparkleShare.tmp\share] 获取文件夹:ssh://MYGITUSER@MYHOST/MYPATH 15:25:34 [ Fetcher] 禁用主机密钥检查 MYHOST 15:25:34 [Cmd] git clone --progress "ssh://MYGITUSER@MYHOST/MYPATH" "C:\Users\MYUSER\Documents\SparkleShare.tmp\share" 15: 25:37 [Git] 退出代码 128 15:25:37 [Fetcher] 失败 15:25:37 [Fetcher] 为 MYHOST 启用主机密钥检查

0 投票
2 回答
3344 浏览

node.js - NodeJS、http-proxy、socket.io

我在端口 3030 上运行一个快速 Web 应用程序,但它是通过http-proxy 代理的。该站点以这种方式运行良好,但 socket.io 将无法连接。当我的控制台显示时,它确实收到了一些东西:

应用程序.js

聊天.js

但是,console.log 语句都不会显示在客户端或服务器端。我究竟做错了什么?

编辑 - 添加了 http-proxy 代码

0 投票
2 回答
1245 浏览

javascript - NodeJS + http-proxy - 对象没有“恢复”方法

关于这个问题的奇怪之处在于,在我离开办公桌之前,我有一个工作示例(尽管握手后没有传输数据),现在我似乎无法正常工作,尽管恢复了少数次要的我所做的更改。

我正在使用 NodeJS + http-proxy 模块将 .html 文件的请求代理到 Apache,并且所有其他请求都由 NodeJS 处理。

这是我的 server.js 代码:

和客户端js:

请注意,这段代码目前有点混乱,因为它处于生产的早期阶段。但是,如果您愿意,请随意批评它,如果您认为我可以/应该以不同的方式做某事。

这是我尝试访问 .html 页面时收到的错误消息:

从我读过的内容来看,看起来数据是缓冲的而不是流式的,但我真的不知道如何解决这个问题,因为我对 API 很陌生(这是我的第一个 NodeJS 项目)。

任何帮助将不胜感激,因为我已经用这个把头撞在砖墙上很长一段时间了。

0 投票
0 回答
350 浏览

google-chrome-extension - 外部页面可以调用 npapi 插件(通过 Firebreath),但不能由 chrome 扩展页面调用

npapi 插件是对 FBTestPlugin 的轻微修改。

该插件当前在清单中定义为 public。现在,可以从外部页面调用插件方法。但不是在扩展程序的任何页面中,我已经尝试过背景页面和选项页面。选项页面中有一个方法runProxy(),它和外部页面做同样的事情,但是插件对象找不到方法。

您可以在此处下载 chrome 扩展程序,并尝试一下。

我在 Linux 中使用命令行进行调试

并发现这可能是问题所在。

但是,出于安全原因,我希望可以将插件定义为私有(仅称为扩展页面)。怎么修?

0 投票
0 回答
1392 浏览

mozilla - 为具有身份验证的 xulrunner 应用程序设置 http 代理

我能够通过代理看到我的请求如果我在 pref.js 中添加它

如何为这种代理添加身份验证。在哪里指定我的用户名和密码。

我在 xul 代码中使用浏览器控件,它没有提示输入用户名和密码。

高度赞赏帮助

0 投票
0 回答
59 浏览

turbogears - 通过 Turbogears 控制器公开 HTTP 代理

我有一个在 TurboGears 1.1 中实现的 webapp,它是一种 REST API 的前端。我试图在我的 webapp 上公开一个 URL 路径,它是原始 REST API 的代理,所以我可以访问“http://MY_APP/rest_api/foo”并让它与“http://REST_API/”一样工作富”。

有没有一种简单的方法可以使用 TurboGears 进行设置,还是我必须公开一个普通控制器并编写所有代码来处理 GET 和 POST 以及参数和重定向自己?

0 投票
1 回答
8346 浏览

http - 如何使用 Charles 代理更改请求 http 方法?

我正在使用 Charles Proxy 进行 http 调试。

为了将 http 方法 GET 切换为 POST,我尝试使用“工具 > 重写”菜单。但我在重写菜单上找不到任何方法。

如何使用 Charles Proxy 切换 http 方法(GET 到 POST)?

0 投票
2 回答
23660 浏览

node.js - 我应该如何在同一系统上组织多个 Express 服务器?

我正在使用一台服务器来托管多个 Node.js Web 应用程序,这些应用程序分布在多个域中。我目前的做法是在不同的端口上为每个应用程序运行一个 Express 服务器,并运行一个简单地将请求路由(重定向)到正确端口/Express 服务器的基本服务器。这可行,但这意味着我的基础服务器正在路由每个 HTTP 请求(并通过手动重定向它),并且我的用户将我的应用程序视为托管在 [hostname.com]:8000。

经过一番研究,我发现我可以使用http-proxy来满足我的路由需求,但我仍然想知道是否有在同一系统上运行多个 Express 服务器的最佳实践。这是我打算这样做的方式:

每个 Web 应用程序都有自己的文件夹,具有完整的 Express 文件夹结构(app.js、路由、视图等)。应用程序将按域分组,因此示例文件夹结构如下:

我必须使用 node (或使用forever,我目前正在使用)分别运行每个 app.js ,并且每个人都必须在内部使用不同的端口,跨应用程序重定向指向目标应用程序。

所以,这就是我目前的计划。它有什么问题,我应该尽量避免哪些陷阱?最重要的是,这个问题是否有既定的解决方案——使用 Node.js/Express 在同一系统上托管多个 Web 应用程序的问题?

编辑:我确实计划最终使用 WebSockets 和 HTTPS,我的设置可以支持的带宽量对我来说并不重要——这是一个开发服务器(至少现在是这样)。感谢 David Ellis 提出 WebSockets 的问题。

第二次编辑:感谢 EhevuTov 和 David Ellis 的回答,他们都帮了大忙。我仍在为我的应用程序确定一个整体结构,看起来这个问题在这个 StackOverflow 问题中得到了一些详细的解决

第三次编辑:自从发布这个问题以来,我已经走了一段路(尽管我还有很长的路要走)。在我的 GitHub 存储库中查看这个文件,它利用了我从这个问题的答案中学到的知识!

0 投票
3 回答
2743 浏览

java - URLConnection 无法通过代理正确处理内容长度

我遇到了以下问题:URLConnection通过代理使用时,内容长度始终设置为-1.

首先,我检查了代理是否真的返回Content-Lengthlynx并且wget也通过代理工作;没有其他方法可以从本地网络访问互联网):

在Java中我写道:

我明白了-1。我开始调试FtpURLConnection,结果发现必要的信息在底层HttpURLConnection.responses字段中,但它从未从那里正确填充:

在此处输入图像描述Content-Length: 30745在标题中有)。当您开始读取流时,甚至在读取流之后,内容长度都不会更新。代码:

输出:

看起来这是 JDK6 中的一个错误,所以我打开了新的bug#7168608

  • 如果有人可以帮助我编写代码,应该返回正确的内容长度以用于直接 FTP 连接、通过代理的 FTP 连接和本地file:/URL,我将不胜感激。
  • 如果给定的问题不能用 JDK6 解决,建议任何其他绝对适用于我提到的所有情况的库(Apache Http Client?)。