微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用ajp协议连接到备用备用主机别名

我通过ajp协议连接到两个tomcat应用程序。 两者都是在ROOT.war单独的tomcat虚拟主机上运行的。 在服务器上,我configuration了/ etc / hosts文件

127.0.0.1 localhost tcvh1 tcvh2

apache httpd.conf:

Listen 80 NameVirtualHost *:80 <VirtualHost *:80> #ProxyPreserveHost On ServerName app1.example.com ProxyPass / ajp://tcvh1:8082/ ProxyPassReverse / ajp://tcvh1:8082/ </VirtualHost> <VirtualHost *:80> #ProxyPreserveHost On ServerName app2.example.com ProxyPass / ajp://tcvh2:8082/ ProxyPassReverse / ajp://tcvh2:8082/ </VirtualHost>

雄猫:

我把应用程序部署为:app1 – $ CATALINA_HOME / tcvh1 / ROOT.war app2 – $ CATALINA_HOME / tcvh2 / ROOT.war

反向代理和getServerPort()后面的WebSphere Portal

仅当后端closures(5xx响应代码)时,如何configurationNginx才能提供caching内容

Nginx文件types传递给后端服务器

使用现有的Nginx安装转发到GitLab子域

不能用Nginx(反向代理+ SSL协商)和Tomcat上传文件

现在,如果我改变了tomcat运行在端口8080,并更改代理通过连接到http:// tcvh1:8080 , 那么它的工作原理 。 但如果我使用AJPconfiguration, 它不起作用

为什么我的主机别名不能使用AJP? 有没有办法让它工作?

在cloud9环境中运行一个自定义的networking服务器,并从外部接触到它

Nginx反向代理背后的服务器忽略URL中的相对path

如何在proxy_pass中设置内容types?

针对Docker容器的Nginx反向代理

Gitlab 5.3后面的Nginx反向代理

它不起作用,因为mod_proxy_ajp总是将httpd收到的主机头传递给Tomcat,而mod_proxy_http将使用ProxyPass中定义的主机,除非ProxyPreserveHost设置为On。

因为 – 就httpd而言 – 你的虚拟主机是app1.example.com和app2.example.com,这些是传递给你的Tomcat实例的东西。 Tomcat没有这些虚拟主机的记录。 它有tcvh1和tcvh2。 因此,所有请求都会被路由到认的虚拟主机(在server.xml中的引擎元素上定义的)。

有几种方法可以解决这个问题:

重命名你的Tomcat虚拟主机以匹配你的httpd虚拟主机

向Tomcat虚拟主机添加别名(请参阅http://tomcat.apache.org/tomcat-7.0-doc/config/host.html#Host_Name_Aliases )。

就个人而言,我会选择2.更快,更简单。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐