在Apache 2后面托pipeCUPS的“正确”方式是什么?

我已经尝试了一些ProxyPass,ProxyPassReverse和ProxyHTMLURLMap的组合,但我仍然没有太多的运气。 我只是希望能够通过访问www.printerhost.com/printers/printername来打印CUPS中的打印机,而不必添加端口631或在端口80上进行CUPS侦听。

根据要求,这里是configuration文件:

LoadModule proxy_html_module modules/mod_proxy_html.so LoadModule xml2enc_module modules/mod_xml2enc.so NameVirtualHost *:80 <VirtualHost *:80> ServerName blah.yours.com JkMount /* balancer JkMount /jkmanager jk-status JkUnMount /cups* balancer ProxyRequests Off ProxyPass /cups/ http://localhost:631/ ProxyHTMLURLMap http://localhost:631 /cups <Location /cups/> ProxyPassReverse / ProxyHTMLEnable On ProxyHTMLURLMap / /cups/ </Location> </VirtualHost> 

看起来像问题消失使用一个简单的ProxyPass和ProxyPassReverse,但只有当代理“/”。 我想代理CUPS到任何其他path不起作用。

我偶然发现了这个网站http://www.wlug.org.nz/ApacheReverseProxy

他们通过结合mod_proxy和mod_proxy_html来改变CUPS网页内的链接,解决了这个问题。

然而,我个人认为,CUPS的网页界面应该有所增强,可能重写为PHP或类似的,因为目前的networking界面(基于CGI)是某种程度上不一致的(有些地方我们有相关的url作为pipe理员,而另一些作为/ admin) 。