问题标签 [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.
c - gethostbyname,连接到整个互联网?
我正在用 C 语言编写一个基本的代理服务器来上课。
我正在使用 firefox 进行测试,并且服务器已成功接收浏览器的请求。
但是现在我需要将它们发送到互联网上以获取浏览器想要的页面,我很犹豫。
这是我目前的连接代码。
我不确定端口 8080 是否正确,也不确定要为“gethostbyname”添加什么内容。这就是我希望得到一些建议的部分。
http-proxy - 如何在代理服务器中实现身份验证
我借用了 http 代理服务器的代码,一切正常。现在我想通过要求身份验证来限制代理服务器的使用。
所以,我尝试了以下方法:
在客户端:
- 为从谷歌请求页面而创建的网络客户端。
- Web 客户端使用带有用户名和密码的 WbProxy。
在服务器上,请求通过,我可以看到标题:
- 获取http://www.google.com/HTTP/1.1 _
- 主机:www.google.com
- 代理连接:保持活动
所以我让服务器响应客户端:
- HTTP/1.0 407 需要代理验证
- 代理身份验证:基本领域 =“代理”
此时,我希望客户端会使用用于 WebProxy 凭据的用户名和密码进行响应。但这不会发生。
我错过了什么?如何让我的代理服务器要求身份验证并最终测试发送的凭据?
java - Tomcat 6.0.35 Windows 32b 服务使用SystemProxies
我一整天都在尝试让 Tomcat6 使用系统代理设置。尝试了各种方法,大约200个不同的版本
我尝试service.bat
像这样在“安装”部分中设置属性(还有许多类似的版本):
我尝试使用 tomcat6w GUI 进行设置。不确定它是否有任何作用。
还尝试设置JAVA_HOME
为 JRE 和 JDK。没有不同。
尝试设置-Dhttp.proxyHost=proxyhostURL
和-Dhttp.proxyPort=proxyPortNumber
。这些至少似乎不会被忽略,因为连接失败(使用随机本地 ip 和端口)。
现在有趣的事实:我可以运行它catalina.bat
,在那里设置参数(CATALINA_OPTS=...
),它就像一个魅力。那它在那里做什么?我希望将它作为一种对用户更友好的服务,但如果没有办法实现它,我愿意考虑只catalina.bat
投入自动运行。
那么...有没有人得到这个工作?或者有人有想法/建议吗?
emacs - 是否可以告诉 Windows 上的 emacs 使用 IE http 代理设置?
另请参阅:HTTP 代理背后的 Emacs
是否可以告诉 emacs自动使用 IE 使用的任何代理设置?
url.el 包说我可以像这样显式指定代理:
当我更改 IE 代理设置时,这可能会自动发生吗?
node.js - 在 Redis 回调中使用 node.js http 代理
考虑到这个不完整的片段:
为什么当我调用proxyRequest
外部 de redis 客户端get
回调时它可以工作,但是当我在回调中移动调用时它失败并且 HTTP 请求只是挂起?
http - 内容将在 post 请求中从哪里开始?
我正在为类创建代理服务器,目前正在解析客户端请求。当我收到一个 POST 请求时,我如何知道标头的结束位置和内容的开始位置?是否有一个总是最后出现的标题?
node.js - 子域之间的会话持久性
我有两个子域,api.abc.com
和beta.abc.com
. 它们都在同一台服务器(盒子)上,api.abc.com
在端口上运行,4000
并且beta.abc.com
在5000
. 我也node-htty-proxy
用来反向代理请求。beta.abc.com
仅用于提供静态内容,同时api.abc.com
以 json 格式返回响应。
用户身份验证是通过服务器(api)端的 facebook oauth 完成的。完成后,将创建会话并将用户重定向到测试版。我在这里遇到的问题是我无法坚持会话!我尝试在 cookie obj 中提供域选项(正如我在其他问题中看到的那样),即使这样也不起作用。
我该怎么做?我做错什么了吗?
我在这里发现了一个非常相似的问题。
http - HTTP 代理服务器会修改请求数据包吗?
在代理服务器转发到服务器之前,是否向 HTTP 请求添加或修改了任何请求标头?
如果是这样,是否对相同的数据包进行了更改,或者内容是否用于创建带有修改的新请求数据包?
node.js - 结合 node-http-proxy 的转发和路由器
我在一个 AWS 实例上托管多个 Node 应用程序。我一直在使用带有虚拟主机的 apache,但只想使用 Node.js。node-http-proxy 看起来可以完成任务,但我无法使用代理表进行转发。
这是代理表应该如何工作的:
我在实例上运行 app1 和 app2 并分别监听 7100 和 15110,但仅使用路由器选项不允许转发。
我可以使用以下方法只转发一个:
知道如何获得两者的好处吗?文档说我可以通过选项传递“转发”和“路由器”,但不清楚如何。
caching - 需要一个可以设置自定义缓存键的 http 代理
我需要设置一个可以为返回的内容设置自定义缓存键的 http 代理。squid2.7 似乎可以使用 storeurl_rewrite_program 特性来做到这一点,但是这个特性还没有移植到 squid3。有没有其他方法可以做到这一点,无论是使用 squid 还是其他一些 http 代理软件?如果该软件还可以与外部服务器合作,对缓存对象进行访问控制,这是一个好处,但并不是立即需要的。
用例是我想缓存经常使用的数据,以便从其他缓慢的存储中快速访问。该存储通过 http 访问到前端,该前端始终返回 302(临时移动)重定向到实际保存数据的冗余磁盘服务器之一。我要缓存的数据文件是公共的、静态的,通常大小为几 GB,因此非常适合缓存。但是,重定向 url 将包含身份验证令牌,因此始终是唯一的,有效地否定了缓存。另一方面,从重定向 url 重建原始 url 是微不足道的,所以如果代理服务器可以做到这一点并将其用于缓存键,那么缓存就会恢复正常运行。
将 storeurl_rewrite_program 功能导入 squid3 在这里被标记为重要:
http://wiki.squid-cache.org/RoadMap/Squid3
但它是否会成为 squid3.3 甚至 squid3.4 还存在很大的不确定性,而 squid2.7 计划随着 squid3.2 的发布而被淘汰。
关于访问控制,squid 似乎应该能够使用 external_acl_type 功能来做到这一点,但是在这个阶段提供对受保护数据的缓存访问并不是非常重要,所以现在我认为这只是顶部的糖。