问题标签 [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.
java - 集群 Apache Tomcat6
我有一个使用 Tomcat6+Struts+Hibernate+MySql 的 Java Enterprise Web Application。目前它已公开启动并在单个服务器上运行。为了解决性能问题,我们应该将应用程序移至集群环境。无论如何我想使用Tomcat6集群如下:
- 负载平衡机器,包括作为前端的 Web 服务器 (Apache+mod_proxy)
- 一些应用服务器机器,每台运行一个 tomcat6 实例
- 会话管理后端
- 最后是一个数据库服务器
像这样的东西
负载平衡器机器接收所有请求,并根据平衡算法将它们重定向到相应的 tomacat6 机器。完成业务部分后,响应将返回给网络服务器,最后返回给用户。在这种情况下,前端机器处理所有请求和响应,因此它将成为应用程序中的瓶颈点。
在 Apache Tomcat 集群中,有没有办法实现负载平衡机制和 Web 服务器?我的意思是在前端放置一个负载平衡器,并将请求/响应处理部分留给多个 Web 服务器。
apache - 使用 Apache 的 mod_proxy 处理 POST 请求
我目前在同一个 Apache 服务器上托管 2 个 Web 应用程序。我们就叫他们 A 和 B。我使用 JSONP 从 A 到 B 进行跨域 ajax 调用(我需要来自 B 的一些数据)。当我的请求太大而 GET 根本不起作用时,这种方法的问题变得很明显;我需要使用 POST 请求。
我安装了 mod_proxy 并将我的 Apache Web 服务器配置为充当反向代理,如下所示:http: //bit.ly/rpeWJI。这与 GET 请求配合得很好,但我仍然无法让 POST 请求正常工作。有人能帮我吗?
附带说明一下,我正在为我的 Web 应用程序使用 Pylons Web 框架。
apache - 不区分大小写的位置
我正在使用安装 Apache 服务器的 VisualSVN 服务器。
在下面的例子中
我该怎么做
不区分大小写 以匹配所有组合(如 myiiswebsite、MYIISWEBSITE、...)?
mod-rewrite - 使用 SSL 代理
我有一台运行 Apache 的 Linux 主机和一台运行 IIS 的 Windows 主机。我有一个指向 Linux 主机的域,需要将它的请求中继(代理)到 IIS;因此,我在 Apache 中有以下虚拟主机定义(效果很好):
现在我想添加 SSL 支持;定义变为:
我在两个 Web 服务器上都有有效且受信任的证书,如果我访问https://win.acme.com
一切都很好,但是,当我访问时,https://www.acme.com
我会收到 500 内部服务器错误消息。查看错误日志显示:
[2011 年 7 月 20 日星期三 08:35:34] [错误] [客户端 76.168.166.70] 为 www.wileybits.com:80 请求 SSL 代理但未启用 [提示:SSLProxyEngine] [2011 年 7 月 20 日星期三 08:35:34] [错误] 代理:HTTPS:无法为 74.166.186.70:443 (win.acme.com) 启用 ssl 支持
请注意代理请求似乎是针对错误的域(wileybits)...它显示的域也由我的 Apache 服务器托管,但我不明白为什么它会出现在 acme.com 的日志中(相反也许是 DNS 查询?)
无论如何,我错过了什么?
在此先感谢-ekkis
ps 主机名和地址已被更改以保护无辜者:)
* 更新 *
和:
它似乎工作正常,但当然,Windows 的主机名变得可见,这在我的场景中是不可接受的
我也试过(而不是 mod_rewrite):
但同样的错误
apache - 将新 IP 设置为现有 IP 的子文件夹
我对 Apache 配置很陌生……以下可能吗?
我有 2 个独立的 Web 服务器,每个都托管一个不同的应用程序 - 完全独立。
我的主要应用程序在 domain 下www.example.com
。我想要做的是将另一台服务器的域设置为类似www.example.com/newapp
这样,当用户访问此 URL 时,他们将被重定向到第二台服务器(这是一个完全不同的域/IP/虚拟主机);第二个服务器的 url 下的页面将始终为www.example.com/newapp/xxxx
.
注意:在第一个主应用程序下没有与此目录结构匹配的内容。
基本上,该www.example.com/newapp/
应用程序是完全独立的,但我希望用户认为它实际上是同一个网站。
mod-rewrite - 带有漂亮网址的 apache2 tomcat6 mod_rewrite 丢失用户会话信息 - 清空购物车
我用 mod_jk 和 mod_proxy 都试过了,得到了相同的结果。
使用这个 mod_rewrite 规则可以正常工作:
这样做的问题是浏览器的地址行中显示了丑陋的新 URL /blah/blah/blah?blah=l2vb&party_name
,这是我希望避免的。似乎是这样做的[R]
标志。
以下规则隐藏了丑陋的 URL 并仅显示新的漂亮 URL:
注意:这里唯一的区别是[]
.
问题是,如果用户的购物车中已经有东西,它就会被清空。不知何故,他们的连接会话(或任何它 - 而不是我在这里的深度!)被重新初始化,所以他们似乎是从头开始。
我已经尝试了其他几种标志组合,例如等[PT,L]
,[R,PT]
但到目前为止都没有运气。
mod-rewrite - httpd2.2 使用 RewriteCond 的反向代理进入无限循环
我想将未设置特定 cookie ( c_cntry
) 且请求 URL 没有国家值作为路径中的第一个元素的传入请求定向到将尝试找出正确设置的内部服务c_cntry
。
但是当我http://localhost:8085/something-to-do
在浏览器中发送类似的东西时,我的日志中会出现无休止的递归,最终浏览器中会出现 502 代理错误。日志似乎显示localhost:9999
未触及 ProxyPass 指令中给出的内容。
将非常感谢您帮助解决此问题。
httpd.conf
重写日志:
访问日志
错误日志
grails - 本地 401 工作,暂存服务器改为 302
我可能不会获得帮助第一次刺伤所需的所有必要信息,但我会尽我所能,并在我们进行时对其进行编辑。
我有一个使用 Spring-Security-Core 插件的 Grails 1.3.7 应用程序。我正在处理处理会话超时和 ajax 请求的代码。在 LoginController 中,我有以下内容:
在全局 JavaScript 文件中,我有以下内容:
当我在本地运行它时,一切都按预期工作。当我的会话超时时,我在 FireBug 控制台中看到一个 401 并且我得到了登录对话框。当我将它部署到我们的登台服务器时,我只得到 302 并且永远不会进入 authAjax,因此永远不会得到 401。
本地开发和登台之间的主要区别在于我使用 mod_proxy 和 apache httpd 来代理请求到 Tomcat。我的假设是这就是为什么我得到 302 而不是 401 但我不是 100% 确定的原因。
我的问题
- 是 mod_proxy 导致 302
- 我该如何解决这个问题,以便它像在本地一样工作,但仍然使用 mod_proxy。
更新:
根据最近在本地的评论,当我收到 401 时,我看到了这个:
我看到了来自 authAjax 方法的调试
在登台服务器上,我得到:
而且我没有看到来自 authAjax 的任何调试,所以我什至没有到达那里。
apache - 这个proxypass设置安全吗
我在 80 端口使用 apache 和在 8080 使用 jboss 维护一个网站。此外,我有一个直接从 apache 提供的 wordpress 博客。因此,对 www.mysite.com/blog 的所有请求都由 apache 提供服务,对 www.mysite.com/ 的所有请求都由 jboss 提供服务。为了实现这一点,我定义了以下 proxypass 设置。
这些设置安全吗?我正在阅读 apache 文档,他们提到了
警告 在保护服务器之前不要使用 ProxyRequests 启用代理。开放式代理服务器对您的网络和整个 Internet 都是危险的。
所以我不确定我还需要做什么来确保这些设置的安全,
php - 从不同的网络获取网络数据
假设有 3 个服务器(A、B和C):
- 服务器A只能访问服务器B,A不能直接访问C。
- B可以访问C。
- A , C在一个单独的网络中。
B和C都是http 服务器,但只有C可以运行 PHP。
我必须使用 PHP从A从C中的 MySQL 服务器获取一些信息,可以这样做吗?
我无法将 PHP 安装到B。
是否可以编写一个将在C中运行并将结果返回到B并返回到A的 PHP 页面?