提交 HTML 表单时 Apache 反向代理失败

提交 HTML 表单时 Apache 反向代理失败

各位朋友,

我想构建这个场景:公共服务器(openSuSE + Apache2 + Zope/Plone)和其他私人服务器使用 Web 应用程序(openSuSE + Apache2 + Zope/Plone)。

我希望用户认为他们只使用一台服务器(SSO 已配置并且运行良好)。

我安装了mod_proxy_html在公共服务器中。现在我可以在服务器之间“路由”流量,除非应用程序提交 HTML 表单。在这种情况下,URL 会更改为私有服务器。

RewriteRule ^/Intranet/Apps/app1(.*) http://private.dom.com:8080/VirtualHostBase/http/private.dom.com:80/CELLS/VirtualHostRoot/Intranet/Apps/app1/$1 [L,P]
ProxyPassReverse / http://public.dom.com:8080/VirtualHostBase/http/public.dom.com:80/DOM/VirtualHostRoot/

ProxyHTMLDoctype XHTML
SetOutputFilter DEFLATE;proxy-html;INFLATE
ProxyHTMLURLMap http://private.dom.com http://public.dom.com

ProxyPassReverseCookieDomain .private.dom.com .public.dom.com
ProxyPassReverseCookiePath / /

我不知道我做错了什么或者我错过了什么配置:-(

提前谢谢你,奥斯卡。

答案1

我终于看到光明了!

我唯一需要的是这个:

RewriteRule ^/Intranet/Apps/app1(.*) http://private.dom.com:8080/VirtualHostBase/http/%{HTTP_HOST}:80/DOM/VirtualHostRoot/Intranet/Apps/app1/$1 [L,P] 
ProxyPassReverse / http://private.dom.com:8080/VirtualHostBase/http/%{HTTP_HOST}:80/DOM/VirtualHostRoot/

这个问题的关键在于添加%{HTTP_HOST}(Apache2 变量),在私服中禁用 Apache2,工作将由虚拟主机怪物在私人服务器上。

感谢您所有的评论和问候!奥斯卡。

相关内容