各位朋友,
我想构建这个场景:公共服务器(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,工作将由虚拟主机怪物在私人服务器上。
感谢您所有的评论和问候!奥斯卡。