问题标签 [mod-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 投票
3 回答
18677 浏览

java - 配置 Apache / Tomcat 的最佳实践

我们目前使用 Apache 2.2.3 和 Tomcat 5(嵌入在 JBoss 4.2.2 中)mod_proxy_jk作为连接器。

有人可以阐明计算/配置以下值的正确方法(以及其他可能相关的值)。Apache 和 Tomcat 都在不同的机器上运行,并且有大量的 ram(每个 4gb)。

相关 server.xml 部分:

相关的 httpd.conf 部分:

0 投票
2 回答
5733 浏览

python - Apache套接字没有关闭?

我有一个使用 CherryPy 编写的 Web 应用程序,它在127.0.0.1:4321. 我们使用 mod-rewrite 和 mod-proxy 让 Apache 充当反向代理;Apache 还处理我们的 SSL 加密,最终可能用于传输我们所有的静态内容。

这一切都适用于小型工作负载。但是,我最近曾经urllib2编写过一个压力测试脚本,可以模拟 100 个客户端的工作负载。一段时间后,每个客户端都收到来自 Apache 的 503 错误,表明 Apache 无法连接到127.0.0.1:4321. CherryPy 运行正常,但我的 Apache 错误日志显示如下行:

[Thu Oct 02 12:55:44 2008] [error] (OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted. : proxy: HTTP: attempt to connect to 127.0.0.1:4321 (*) failed

谷歌搜索此错误表明 Apache 可能已用完套接字文件描述符。由于我只有 100 个客户端在运行,这意味着连接没有关闭,无论是在我的urllib2连接和 Apache 之间(我肯定是调用.close()的返回值urlopen),还是在 Apache 和 CherryPy 之间。

我已经确认我的urllib2请求正在发送一个 HTTP标头,尽管如果这很重要Connection: close,Apache 已经配置了。KeepAlive On

万一这很重要,我使用的是 Python 2.5、Apache 2.2、CherryPy 3.0.3,并且服务器在 Windows Server 2003 上运行。

那么我下一步要做什么来阻止这个问题呢?

0 投票
10 回答
213868 浏览

java - Apache mod_proxy 和 Tomcat 出现 Bad Gateway 502 错误

我们在 Tomcat 6 和 Apache mod_proxy 2.2.3 上运行一个 Web 应用程序。看到很多这样的 502 错误:

错误的网关!代理服务器收到来自上游服务器的无效响应。

代理服务器无法处理请求 GET /the/page.do。

原因:从远程服务器读取错误

如果您认为这是服务器错误,请联系网站管理员。

错误 502

Tomcat 有很多线程,所以它不受线程限制。我们正在通过 JMeter 向 2400 名用户推送该应用程序。所有的盒子都位于我们的防火墙内,在一个快速卸载的网络上,所以不应该有任何网络问题。

有人对要查看或尝试的事情有任何建议吗?接下来我们将前往 tcpdump。

2008 年 10 月 21 日更新:仍然没有弄清楚这一点。仅看到其中极少数处于负载状态。下面的答案还没有提供任何神奇的答案……还没有。:)

0 投票
3 回答
8683 浏览

apache - 如何将 Apache 配置为 j2ee 服务器的代理(负载均衡器)?

我将 apache Web 服务器安装为前端,并在 Intranet 服务器中安装了 j2ee SAP Netweaver 应用程序服务器。如何配置 apache 以向/来自 j2ee 应用服务器转发请求和响应。例如,外部 apache 服务器的 ip 是 9.20.1.1:80。内部 sap 服务器的地址是 192.168.0.1/sap/bc/gui/sap/its/webgui?sap_client=200 我想访问我的 sap 应用程序服务器,例如 9.20.1.1/sapserver/sap/bc/gui/sap/its/ webgui?sap_client=200

0 投票
1 回答
482 浏览

apache - 如何在使用 mod_proxy 的同时将用户发送到 Apache 中的不同“站点”?

我有一个我管理的网站,它在前端使用 Apache 2.0,在后端使用 Tomcat 6(使用 mod_proxy 代理两者之间的连接)。

我希望能够使用相同的 VirtualHost 来访问在盒子上运行的 phpMyAdmin 应用程序。因此,例如,www.mywebsite.com 会将所有流量传递给 Tomcat,但 www.mywebsite.com/myadmin(具有明显的安全性)会将流量传递给 phpMyAdmin。

0 投票
2 回答
1889 浏览

apache - Using Apache proxy to foward traffic to tinyproxy

I need to find a way to proxy some traffic on port 80 to tinyproxy running on a separate port. We have a client working behind a very strict firewall with only port 80 open (and cannot get to sites like meebo.com, etc). I was hoping I could create a CNAME to our domain and a virtual host on apache, catch the request for that new CNAME and forward the traffic right to tinyproxy running on the same box.

I know tinyproxy is setup and working correctly, however, when I try to pass in my traffic through Apache, I don't even see any traffic.

Does anyone have a proposed solution? Here is my VirtualHost entry:

where Tinyproxy is running on port 50001.

0 投票
2 回答
44818 浏览

apache - Apache2反向代理到需要BasicAuth但希望对用户隐藏的端点

基本上我的情况是我有一个内部网站,需要一个硬编码的用户名和密码才能访问(并且不能关闭,只能更改)。由于各种原因(隐藏端口、简化 url、简化 NAT 等),我通过反向代理公开了这个网站。

但是,我想做的是能够使用 Apache 来处理身份验证,以便:

  1. 我不必给每个人一个密码
  2. 我可以使用 Apache 的 BasicAuth 拥有多个用户名和密码
  3. 对于内部用户,我不必提示输入密码

编辑:关于更丰富的身份验证的第二部分已移至新问题

这或多或少是我现在所拥有的:

0 投票
1 回答
5794 浏览

apache - RewriteRule,代理指令 [P] - 是否可以使请求使用实际的代理主机?

有谁知道是否可以制定使用代理 [P] 指令的重写规则,如下所示,其行为类似于ProxyPassProxyPreserveHost Off.

换句话说,我希望 mydomain.net 上的服务器看到对 mydomain.net 而不是 mydomain.com 的请求。


谢谢和最好的问候,

0 投票
1 回答
15769 浏览

apache - 使用 Apache/mod_proxy 重定向 URL 路径以转发到 tomcat servlet

我目前有一个在 ROOT 下运行的 tomcat servlet 1:

api1.myhost.com:8080/

我正在使用 mod_proxy 并将所有请求从 api1.myhost.com 转发到此实例。这是从今天开始工作的。

我现在安装了第二个 servlet 2,它在同一个 tomcat 实例(相同的 IP 地址)下运行:

www.myhost.com:8080/servlet2

我希望对新 URL api2 的所有请求都转到第二个 servlet,这样:

api2 .myhost.com

现在被转发到第二个 servlet 实例。

我创建了一个 A 记录,这样 api2.myhost.com 指向我的服务器 IP。你如何让 api2.myhost.com 转发到 www.myhost.com:8080/servlet2 ?

0 投票
2 回答
27841 浏览

apache - 在 Apache 中设置反向代理的问题

我和我的室友每个人都有一个我们正在尝试设置的单独的网络服务器。我们正在尝试使用 mod_proxy,以便他的服务器根据服务器名称将请求转发到我的机器(我们在一个路由器后面有两台单独的机器)。我已经给出了我们目前在我们的 apache 配置中拥有的基础知识,但是在尝试访问第二个域(第一个 www 域,工作正常)时,我们得到了 403 Forbidden 错误。