问题标签 [reverse-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 回答
211 浏览

iis - 如何让 CMS 和现有的 asp.net 应用程序在 IIS 中和平共处?

注意:我最初在 ServerFault 上发布了这个,但我根本没有得到任何回复。因为看起来我正朝着那里获得风滚草徽章的方向前进,所以我想我也会在这里尝试。


我们现有的公共网站由混杂的 asp.net 页面组成,其中大部分是静态内容和一些设置为虚拟目录的真实 Web 应用程序。我们现在正在考虑安装 Umbraco,这需要您将它安装在网站的根目录中。

由于 CMS 将位于网站的根目录,我假设在 Umbraco 下运行我们现有的页面和 Web 应用程序是一个坏主意(由于它执行的 URL 重写和继承 web.config 设置等)那么如何在我们过渡到 CMS 期间和完成之后,我们是否让一切和平共存?

到目前为止,我唯一的想法是将 CMS 和应用程序设置为单独的网站,然后使用某种 URL 重写/反向代理来正确解决所有问题:

0 投票
1 回答
3337 浏览

php - 通过 PHP 进行 Apache 反向代理身份验证

我设置了两个 apache 服务器。一个面向公众,另一个位于防火墙后面。防火墙后面的一个用于提供内容(视频、图片等)。我已经设置了一个反向代理,这样对http://mysite.com/content/的任何请求实际上都会发送到我的防火墙内的服务器。请参阅我的服务器故障问题

我的网站使用 PHP 和 MySQL 对用户进行身份验证。身份验证对 /content 目录中的任何内容都不起作用,因为 apache 会立即将请求发送到内部服务器。理想情况下,我想在面向公众的服务器上对用户进行身份验证,并从防火墙内的内容服务器向他们提供内容。

有没有办法只允许经过身份验证的用户访问 /content 目录?

0 投票
7 回答
2440 浏览

python - 如何在 python 工作者中处理长时间运行的请求?

我有一个 python(嗯,它现在是 php,但我们正在重写)函数,它接受一些参数(A 和 B)并计算一些结果(在图中找到从 A 到 B 的最佳路径,图是只读的),在典型场景一次调用需要 0.1s 到 0.9s 完成。用户可以通过简单的 REST Web 服务 (GET bestpath.php?from=A&to=B) 访问此功能。当前的实现非常愚蠢-它是一个简单的php脚本+apache+mod_php+APC,每个请求都需要加载所有数据(php数组中超过12MB),创建所有结构,计算路径并退出。我想改变它。

我想要一个具有 N 个独立工作人员的设置(每台服务器 X 和 Y 个服务器),每个工作人员都是一个循环运行的 python 应用程序(获取请求 -> 处理 -> 发送回复 -> 获取请求...),每个工作人员都可以处理一次一个请求。我需要一些可以充当前端的东西:从用户那里获取请求,管理请求队列(具有可配置的超时)并一次向我的工作人员提供一个请求。

如何解决这个问题?你能提出一些设置吗?nginx + fcgi 或 wsgi 还是别的什么?代理?如您所见,我是python、反向代理等方面的新手。我只需要一个关于架构(和数据流)的起点

顺便提一句。工作人员正在使用只读数据,因此无需维护它们之间的锁定和通信

0 投票
1 回答
78 浏览

.net - 关于反向 IP 查找匿名代理的建议/意见

有时无法确定用户是否使用匿名代理。所以我想出了一些想法:

获取客户端的 IP,进行反向检查并检查它是否返回主机名,并获取托管在同一 ip 上的任何网站的数量,然后假设它是网站托管提供商 ip,它可能是代理连接。存储允许代理托管的托管服务提供商的 ips 并查询它们以检查 IP 是否匹配并阻止它们。所以你们认为这种技术是可能的还是在某种程度上可行?

我知道这些不是最好的解决方案。我不是专家,而是新手,如果我提到了错误或技术上不正确,请纠正我。

0 投票
1 回答
428 浏览

python - 当出现故障或挂起时,如何确保关闭负载均衡器中的所有连接?

我正在尝试编写一个简单的负载均衡器。它工作正常,直到其中一台服务器(BalanceServer)没有关闭连接然后......客户端(ReverseProxy)断开连接,但与 BalanceServer 的连接保持打开状态。我尝试将回调(#3)添加到ReverseProxy.connectionLost以关闭与其中一台服务器的连接,就像我在服务器断开连接时关闭连接(clientLoseConnection)一样,但当时 ServerWriter 为 Null,我无法在 # 处终止它1 和 #2


当一侧断开连接时,如何确保所有连接都关闭?我想当客户端和其中一个服务器都挂起时,这里的某种超时也会很好,但是如何添加它以便它在两个连接上都有效?


0 投票
4 回答
4812 浏览

c# - 套接字代理服务器

假设客户端 A 通过 TCP/IP 套接字连接到服务器 B 是否可以创建类似服务器的代理来执行此操作:

客户端 A 连接到代理 X;并尝试向服务器进行身份验证(发送身份验证数据);代理 X 接收这些数据并将它们发送到服务器 B,并从服务器 B 获取响应并将结果返回给客户端 A

是否可以?如果有任何可用的源代码?

0 投票
1 回答
380 浏览

web-services - Perlbal 代理与远程主机

为什么 perlbal 的代理会为我503提供任何远程 url?

我的 perlbal conf 看起来像:

我知道我正确设置了标题,因为正如我所说,它适用于本地文件和 url。

0 投票
2 回答
837 浏览

asp.net - 当 ASP.NET 服务器作为反向代理位于 ISA 服务器后面时,获取原始 HOST 地址

我想知道当 Web 服务器位于充当反向代理的 ISA 服务器后面时,如何获得原始主机 IP。

其他反向代理(如 squid)将“X_FORWARDED_FOR”值添加到请求标头,但 ISA 服务器没有。

谢谢

0 投票
2 回答
24404 浏览

apache2 - 使用 Weblogic 代理和 Apache2 将 https 请求重定向到两个不同的 weblogic 服务器

我有一个服务器 serverA 运行 weblogic 应用程序 App1,基本 url /app1/ 在端口 7001 上,另一个服务器 serverB,运行 weblogic 应用程序 App2,基本 url /app2/ 在端口 8001 上。两个服务器都运行 Solaris、Apache2 和 Weblogic 9.2

(细节有所改变,但这些具有代表性)

换句话说,app1 可以在

http://serverA:7001/app1/

和app2

http://serverB:8001/app2/

但是,客户要求对应用程序的所有访问都在 server1 的端口 443 上使用 https。

如果只有一个应用程序,我可以使用虚拟主机并将以 /app1/ 开头的 URL 的处理程序设置为 Weblogic 代理,该代理会将它们转发到端口 7001 上的服务器 1。

有两个应用程序,我需要另一个虚拟主机,它的另一个 Location 语句匹配 /app2/ 并转发到端口 8001 上的当前服务器......但我不明白这是如何工作的,因为第一个虚拟主机将完成 SSL协商来确定 URL,而当事情落到第二个虚拟服务器上时,Apache 可能无法做到这一点。

那么我该如何处理呢?

我目前的想法是将到达 server1 的所有 SSL 请求代理到端口 80 上的同一服务器 server1(因此基本上只是进行 SSL 终止),然后以上述方式为 /app1/ 和 /app2/ URL 添加两个虚拟主机.

这行得通吗?我是否错过了一些关于其他方法的明显内容?

编辑:我想我可能错过了 Weblogic 插件可以有几个块,每个块将页面引导到不同的位置。在这种情况下,这变得容易。

我明天上班时测试并更新问题

0 投票
3 回答
3956 浏览

apache - Tomcat 使用 mod_proxy 和 apache 提供 URL 错误

我已经设置了一个带有 apache 的主机来提供静态页面并使用 Tomcat 来提供我的 Web 应用程序(参见这个问题)。静态页面来自服务器

http://myhost.com

并且动态(tomcat)页面来自服务器

http://myhost.com/myapp

mod_proxy 确保“ http://myhost.com/myapp ”被转发到运行在“ http://myhost.com:8080 ”上的tomcat 服务器。

问题是现在您在“ http://myhost.com/myapp ”上获得了标准的 Tomcat 介绍页面,但是如果您单击左侧的本地链接(例如“状态”),它会生成一个 URL“ http:/ /myhost.com/manager/status ”虽然它应该生成:“ http://myhost.com/myapp / manager /status”

(tomcat下安装的webapp也是如此)

应该在我的配置(apache、tomcat?)中进行哪些更改以将我的 tomcat 链接重定向到正确的位置?