问题标签 [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.
node.js - 使用 node-http-proxy 代理时是否可以在服务器上指定目录?
我使用 http-proxy 将任何 php 请求代理到 apache,但我不知道如何代理到服务器上的目录……例如,如果它是一个 php 文件,我说:localhost:8090/bar.php -> localhost:80/bar.php 但我想代理到 localhost:80/foo/bar.php 我想远离任何 URL 重写。谢谢
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 启用主机密钥检查
node.js - NodeJS、http-proxy、socket.io
我在端口 3030 上运行一个快速 Web 应用程序,但它是通过http-proxy 代理的。该站点以这种方式运行良好,但 socket.io 将无法连接。当我的控制台显示时,它确实收到了一些东西:
应用程序.js
聊天.js
但是,console.log 语句都不会显示在客户端或服务器端。我究竟做错了什么?
编辑 - 添加了 http-proxy 代码
javascript - NodeJS + http-proxy - 对象没有“恢复”方法
关于这个问题的奇怪之处在于,在我离开办公桌之前,我有一个工作示例(尽管握手后没有传输数据),现在我似乎无法正常工作,尽管恢复了少数次要的我所做的更改。
我正在使用 NodeJS + http-proxy 模块将 .html 文件的请求代理到 Apache,并且所有其他请求都由 NodeJS 处理。
这是我的 server.js 代码:
和客户端js:
请注意,这段代码目前有点混乱,因为它处于生产的早期阶段。但是,如果您愿意,请随意批评它,如果您认为我可以/应该以不同的方式做某事。
这是我尝试访问 .html 页面时收到的错误消息:
从我读过的内容来看,看起来数据是缓冲的而不是流式的,但我真的不知道如何解决这个问题,因为我对 API 很陌生(这是我的第一个 NodeJS 项目)。
任何帮助将不胜感激,因为我已经用这个把头撞在砖墙上很长一段时间了。
mozilla - 为具有身份验证的 xulrunner 应用程序设置 http 代理
我能够通过代理看到我的请求如果我在 pref.js 中添加它
如何为这种代理添加身份验证。在哪里指定我的用户名和密码。
我在 xul 代码中使用浏览器控件,它没有提示输入用户名和密码。
高度赞赏帮助
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 以及参数和重定向自己?
http - 如何使用 Charles 代理更改请求 http 方法?
我正在使用 Charles Proxy 进行 http 调试。
为了将 http 方法 GET 切换为 POST,我尝试使用“工具 > 重写”菜单。但我在重写菜单上找不到任何方法。
如何使用 Charles Proxy 切换 http 方法(GET 到 POST)?
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 存储库中查看这个文件,它利用了我从这个问题的答案中学到的知识!
java - URLConnection 无法通过代理正确处理内容长度
我遇到了以下问题:URLConnection
通过代理使用时,内容长度始终设置为-1
.
首先,我检查了代理是否真的返回Content-Length
(lynx
并且wget
也通过代理工作;没有其他方法可以从本地网络访问互联网):
在Java中我写道:
我明白了-1
。我开始调试FtpURLConnection
,结果发现必要的信息在底层HttpURLConnection.responses
字段中,但它从未从那里正确填充:
(Content-Length: 30745
在标题中有)。当您开始读取流时,甚至在读取流之后,内容长度都不会更新。代码:
输出:
看起来这是 JDK6 中的一个错误,所以我打开了新的bug#7168608。
- 如果有人可以帮助我编写代码,应该返回正确的内容长度以用于直接 FTP 连接、通过代理的 FTP 连接和本地
file:/
URL,我将不胜感激。 - 如果给定的问题不能用 JDK6 解决,建议任何其他绝对适用于我提到的所有情况的库(Apache Http Client?)。