问题标签 [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.
mod-rewrite - URL/Apache 重定向问题。(域+目录重定向到 sudomain)
我一直在尝试解决这个问题大约 2 个小时。出现了一个新要求,要求我尝试找到一种将请求从 foo.bar.com/blah 发送到 blah.bar.com 的方法。
从技术上讲 /blah 不存在,但我希望在它到达那个点之前让服务器重定向。
以前有人必须这样做吗?
解决方案是什么?
java - 当它位于代理后面时,如何可靠地访问 jspx 中的 HttpServletRequest?
我有一个需要知道当前HttpServletRequest
. getServerName()
jspx 可以#{mybean.serverName}
从它的 bean 中获取它,如下所示:
但是,当它在代理(带有 mod_proxy 的 Apache)后面提供时,有时getServerName()
会返回节点的主机名而不是前端的主机名。其他时候它可以正常工作。
然而,一个普通的 jsp<% request.getServerName(); %>
总是会返回前端的主机名。
FacesInstance 有什么问题HttpServletRequest
?有没有办法获取“真实”的请求对象?
tomcat - 访问负载平衡的tomcat后面的特定服务器
我正在构建生产配置,其中 2 个 tomcat 位于带有负载平衡器和 mod_proxy 的 apache 后面。我需要的是检查特定tomcat实例是否正在运行的脚本。问题是我在 tomcat 中使用 AJP 连接器。是否可以以某种方式向 apache 发出 HTTP 请求,以确保只有需要的 tomcat 实例会响应?
apache - Tomcat 使用 mod_proxy 和 apache 提供 URL 错误
我已经设置了一个带有 apache 的主机来提供静态页面并使用 Tomcat 来提供我的 Web 应用程序(参见这个问题)。静态页面来自服务器
并且动态(tomcat)页面来自服务器
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 链接重定向到正确的位置?
apache - Apache 重写覆盖 Mime 和代理请求?
我正在尝试实现一些 Apache 重写规则,以便在 Internet Explorer 中为 XHTML 正确设置 MIME 类型。我在很多地方都发现了这些重写规则,它们似乎对大多数人都有效:
但是,我的站点已经在使用带有 [P] 标志的重写规则来代理对本地 Tomcat 实例的请求。无论我做什么,上述规则似乎都被从 Tomcat 返回的 mime 类型所覆盖。Apache 文档对 [P] 标志说:
此标志强制替换部分作为代理请求在内部发送并立即(重写处理在此处停止)
...所以我不能把 mime 规则放在我的代理规则之后。如果我将它们放在代理规则之前,则代理会覆盖 mime 类型。
如果我使用代理规则,有什么方法可以为 IE 设置 mime 类型?或者是我在 Tomcat 中更改 mime 类型的唯一选择(不幸的是,需要更改代码)。
谢谢,杰夫
apache-flex - BlazeDS Servlet 未通过代理响应
我通过代理 (Apache) 在 Tomcat 5.5 上使用带有 BlazeDS 的 Flex 时遇到问题。我已经搜索过了,但没有找到解决我问题的答案。我希望你们能帮助我。:-)
我们的场景如下:
Flex-App 使用 BlazeDS 与我们在 Tomcat 5.5 上的 Dataservice 进行通信。Webapp 启用了 balze,服务配置包含如下通道定义:
我将 Flex 服务器根 URL 设置为http://xxx.xxx.xxx.xxx:8180/myDataService
(上下文根:/myDataService)并针对此服务配置编译我的 flex 应用程序。
之后,我将我的 flex 应用程序和我的数据服务部署在一个 IP 地址为 xxx.xxx.xxx.xxx 的服务器上。这两个应用程序在使用http://xxx.xxx.xxx.xxx:8180/myFlexApp
或用于数据服务之后可用:http://xxx.xxx.xxx.xxx:8180/myDataservice
tomcat 正在侦听端口 8180。
如果我使用带有 IP 地址的 URL 打开我的 flex 应用程序,则一切正常。我的应用程序正在完美地接收数据。
好的。到目前为止一切都很好。
现在我想使用代理服务器(通过 apache http 服务器)来隐藏 ip 并使用域名。
我对我的服务配置进行了以下更改:
我将 Flex 服务器根 URL 设置为http://mydomain.com/data
(Context Root /data) 并针对此服务配置编译我的 flex 应用程序。
我再次将应用程序部署在与以前相同的 tomcat 上。
现在,我在名为 mydomain.com 的 apache 目录 (etc/apache2/sites-available/) 的站点可用(启用站点)文件夹中创建了一个条目,我创建了一个具有服务器名称 www.mydomain.com 和 ServerAlias mydomain 的虚拟主机。 com。我还在 Proxy 块中添加了必要的规则以及虚拟主机定义所需的其他内容。此文件中包含以下 ProxyPass/ProxyPassReverse 条目:
之后,我可以http://www.mydomain.com/flexApp
在浏览器中打开 flex 应用程序并加载它。但是当它尝试使用 blazeds 联系数据服务时会抛出错误消息。我什至无法打开网址http://mydomain.com/data/messagebroker/amf
。显示 404 错误。之前 - 使用 IP 地址 - 显示一个空白页面。奇怪的是,非火焰 Servlet 工作正常。例如,我可以打开http://mydomain.com/data/myServlet
它并且它可以工作。只有 Blaze 不起作用。
你有什么想法为什么会出现这个问题以及我如何解决它。提前非常感谢。你真的在帮我!!!
亨里克
apache2 - Apache2 mod_proxy 代理错误
我的网络应用程序位于 mysite.com:8080。我想通过键入 webapp.mysite.com 来访问它。
所以,我按照以下步骤操作:
1)启用所需的模块:
a2enmod 代理 a2enmod proxy_http
apache2重启
2)创建/etc/apache2/sites-available/mysite
3)修改/etc/apache2/ports.conf
有几天我用过这个设置,一切都很好。但是在重新加载服务器后,在 webapp.mysite.com 中,我得到了:
代理错误
代理服务器收到来自上游服务器的无效响应。代理服务器无法处理请求 GET /。
原因:DNS 查找失败:mysite.com
Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-1+lenny4 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0 服务器在 webapp.mysite.com 端口 80
帮帮我,我该如何解决?
apache - apache 协议重定向
是否可以让 apache 获得类似whateverProtocol://localhost 的请求并将其重定向到http://localhost?
提前致谢。
更新:感谢您的回答。具体来说,我正在尝试将 ldap:// localhost 重定向到 http:// localhost - 我相信 ldap 可能会被 mod_rewrite 识别。但是到目前为止使用 RewriteEngine/RewriteRule 没有运气,包括使用 RewriteCond SERVER_PROTOCOL ...
任何想法将不胜感激。
web - 本地主机上的 Web 应用程序在通过端口 80 访问的不同端口上
在我的笔记本电脑上,使用 Apache
我在笔记本电脑的不同目录中有不同的网络应用程序,我可以开始使用简单的网络服务器监听不同的端口。例如
我想像这样从我的浏览器访问上述内容
我可以使用 mod_proxy 执行上述操作吗?如果是这样,怎么做?
更新:我必须补充一点,我已经用谷歌搜索了 mod_proxy,阅读了 Apache 网站上的教程,并尝试了以下内容
在我的 httpd.conf 中取消注释以下内容
在我的 httpd.conf 中添加了以下内容
然而,当我尝试访问上述应用程序时,我得到了 HTTP 404。