{"id":2374,"date":"2017-09-25T07:11:23","date_gmt":"2017-09-25T07:11:23","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=2374"},"modified":"2017-09-25T07:15:58","modified_gmt":"2017-09-25T07:15:58","slug":"cups-y-apache2-como-servidor-proxy","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2017\/09\/25\/cups-y-apache2-como-servidor-proxy\/","title":{"rendered":"CUPS y apache2 como servidor proxy &#8230;"},"content":{"rendered":"<p>&#8230; enrevesado de configurar y no muy seguro de por qu\u00e9 lo hace finalmente.<\/p>\n<p><!--more--><\/p>\n<p>Pues s\u00ed, despu\u00e9s de una buena temporada me he decidido a configurar un servidor virtual para el panel web de control de impresoras del programa cups.<\/p>\n<p>Los pasos que he seguido han sido los siguientes:<\/p>\n<ol>\n<li>Crear un dominio espec\u00edfico: <code>printers.empresa.net<\/code><\/li>\n<li>Configurar CUPS para que acepte conexiones seguras y no seguras.<\/li>\n<li>Crear un servidor virtual en Apache para dicho servidor que ejerce como servidor de proximidad inverso (<em>reverse proxy<\/em>).<\/li>\n<li>Disfrutar de lo logrado.<\/li>\n<\/ol>\n<h3>Configurar el servidor CUPS<\/h3>\n<p>La configuraci\u00f3n b\u00e1sica es la siguiente (un extracto, no est\u00e1 completa):<\/p>\n<pre class=\"lang:default decode:true\">ServerAlias printers.empresa.net\r\nLogLevel debug\r\nMaxLogSize 10m\r\n# Allow remote access\r\nPort 631\r\nSSLPort 632\r\nListen \/var\/run\/cups\/cups.sock\r\nBrowsing On\r\nBrowseAddress @LOCAL\r\nBrowseLocalProtocols dnssd\r\nDefaultAuthType Basic\r\nWebInterface Yes\r\nBrowseWebIF     Yes\r\nServerCertificate \/etc\/letsencrypt\/live\/empresa.net\/fullchain.pem\r\nServerKey \/etc\/letsencrypt\/live\/empresa.net\/privkey.pem\r\nSLListen 127.0.0.1:632\r\n<\/pre>\n<h3>Configurar el servidor Apache<\/h3>\n<p>Con lo anterior consigo que escuche en los puertos 631 y 632 (para conexiones cifradas) sobre el interfaz local. Ahora paso a configurar el servidor web para que haga de frontal.<\/p>\n<pre class=\"lang:apache decode:true \">&lt;VirtualHost *:80&gt;\r\n    ServerName          printers.empresa.net\r\n    ServerAlias         printers\r\n\r\n    # Comunicaci\u00f3n con el servidor CUPS\r\n    ProxyPass           \/ http:\/\/127.0.0.1:631\/\r\n    ProxyPassReverse    \/ http:\/\/127.0.0.1:631\/\r\n&lt;\/VirtualHost&gt;\r\n\r\n&lt;VirtualHost *:443&gt;\r\n    ServerName          printers.empresa.net\r\n    ServerAlias         printers\r\n\r\n    LogLevel    warn\r\n    ErrorLog    \/var\/log\/apache2\/printers.empresa.net\/error.log\r\n    CustomLog   \/var\/log\/apache2\/printers.empresa.net\/access.log combined \r\n\r\n    Include \"\/etc\/apache2\/ssl.conf\"\r\n\r\n    # Comunicaci\u00f3n con el servidor CUPS\r\n    SSLProxyEngine        on\r\n    SSLProxyVerify        none\r\n    SSLProxyCheckPeerCN   off\r\n    SSLProxyCheckPeerName off\r\n\r\n    ProxyPass           \/ https:\/\/127.0.0.1:632\/ retry=1 acquire=3000 timeout=600 Keepalive=On\r\n    ProxyPassReverse    \/ https:\/\/127.0.0.1:632\/ \r\n&lt;\/VirtualHost&gt;\r\n<\/pre>\n<p>En el archivo <code>\/etc\/apache2\/ssl.conf<\/code> , compartido por otros servidores virtuales, activo el motor de cifrado e indico d\u00f3nde est\u00e1n los certificados para crear las conexiones seguras. El servidor <code>printers.empresa.net<\/code> debe estar dentro de ellos para que todo funcione.<\/p>\n<h3>Enlaces y referencias<\/h3>\n<ul>\n<li><a href=\"http:\/\/chschneider.eu\/linux\/server\/cups.shtml\">HOWTO setup a small server CUPS (Print Server)<\/a><\/li>\n<li><a href=\"https:\/\/serverfault.com\/questions\/577616\/using-https-between-apache-loadbalancer-and-backends\">Using Https between Apache Loadbalancer and backends<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; enrevesado de configurar y no muy seguro de por qu\u00e9 lo hace finalmente.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[6],"tags":[75,250,180],"class_list":["post-2374","post","type-post","status-publish","format-standard","hentry","category-debian","tag-apache","tag-cups","tag-proxy-inverso"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=2374"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2374\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=2374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=2374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=2374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}