Назад | Перейти на главную страницу

Каков «правильный» способ разместить CUPS за Apache 2

Я пробовал несколько комбинаций ProxyPass, ProxyPassReverse и ProxyHTMLURLMap, но мне все еще не повезло. Я просто хотел бы иметь возможность поразить принтеры в CUPS, перейдя на www.printerhost.com/printers/printername, вместо того, чтобы добавлять порт 631 или заставлять CUPS прослушивать порт 80.

Согласно запросу, вот файл конфигурации:

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 на любой другой путь не работает.

Я наткнулся на этот сайт http://www.wlug.org.nz/ApacheReverseProxy.

Они решили проблему, объединив mod_proxy с mod_proxy_html для изменения ссылок внутри веб-страниц CUPS.

Однако я лично считаю, что веб-интерфейс CUPS следует как-то улучшить и, возможно, переписать на PHP или аналогичный, поскольку нынешний веб-интерфейс (на основе CGI) как-то непоследователен (в некоторых местах у нас есть относительные URL-адреса как admin, а в других как / admin) .