<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://kb.pocnet.net/index.php?action=history&amp;feed=atom&amp;title=Caching_Proxy_mit_Apache</id>
	<title>Caching Proxy mit Apache - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://kb.pocnet.net/index.php?action=history&amp;feed=atom&amp;title=Caching_Proxy_mit_Apache"/>
	<link rel="alternate" type="text/html" href="https://kb.pocnet.net/index.php?title=Caching_Proxy_mit_Apache&amp;action=history"/>
	<updated>2026-05-26T01:25:53Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Knowledgebase</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kb.pocnet.net/index.php?title=Caching_Proxy_mit_Apache&amp;diff=855&amp;oldid=prev</id>
		<title>PoC: Fixes</title>
		<link rel="alternate" type="text/html" href="https://kb.pocnet.net/index.php?title=Caching_Proxy_mit_Apache&amp;diff=855&amp;oldid=prev"/>
		<updated>2010-11-21T01:10:00Z</updated>

		<summary type="html">&lt;p&gt;Fixes&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Wenn man eine Linuxmaschine als Apache-Webserver am Laufen hat, lohnt es sich, eventuell darüber nachzudenken, den Squid-Proxy rauszuwerfen und dafür den Apachen zu verwenden. Weil die Konfiguration ein wenig aufwendiger ist, soll hier kurz erklärt werden, wie ein &amp;#039;&amp;#039;&amp;#039;Caching Proxy mit Apache&amp;#039;&amp;#039;&amp;#039; unter Debian-Linux aufzubauen ist.&lt;br /&gt;
&lt;br /&gt;
== Vorteile ==&lt;br /&gt;
* Kein Extra-Programm,&lt;br /&gt;
** braucht daher insgesamt weniger Ressourcen,&lt;br /&gt;
* Automatisch IPv6 fähig: Client spricht im LAN IPv6 zum Proxy, Proxy spricht nach außen hin beides, je nach Bedarf/Möglichkeit.&lt;br /&gt;
&lt;br /&gt;
== Nachteile ==&lt;br /&gt;
* Konfiguration komplexer als bei Squid,&lt;br /&gt;
* Squid als spezialisierte Lösung hat einige Features mehr wie z. B. ACLs (die aber i. d. R. nur selten gebraucht werden).&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
Zu aktivierende Module:&lt;br /&gt;
* cache&lt;br /&gt;
* disk_cache&lt;br /&gt;
* proxy&lt;br /&gt;
* proxy_connect&lt;br /&gt;
* proxy_ftp&lt;br /&gt;
* proxy_http&lt;br /&gt;
&lt;br /&gt;
 for MODULE in cache disk_cache proxy proxy_connect proxy_ftp proxy_http; do&lt;br /&gt;
   a2enmod ${MODULE}&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;/etc/apache2/mods-available/disk_cache.conf&amp;#039;&amp;#039; muss der gesamte Inhalt auskommentiert werden.&lt;br /&gt;
&lt;br /&gt;
Ausserdem muss der Apache auf einem separaten Proxyport lauschen. Das ist nicht anders lösbar, weil sonst der VHost für den Proxy mit dem Default-VHost für den Webserver kollidiert:&lt;br /&gt;
 echo &amp;quot;Listen 8080&amp;quot; &amp;gt;&amp;gt; /etc/apache2/ports.conf&lt;br /&gt;
&lt;br /&gt;
Nun sollte in der VHost-Konfiguration sichergestellt sein, dass es keine Überschneidungen mit den anderen Hosts gibt. Alle Dateien im Unterverzeichnis &amp;#039;&amp;#039;sites-enabled&amp;#039;&amp;#039; müssen geprüft werden, dass in der VHost-Definition eine Portangabe hinterlegt ist:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:80&lt;br /&gt;
 &amp;lt;VirtualHost _default_:80&amp;gt;&lt;br /&gt;
   …&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 &amp;lt;VirtualHost _default_:443&amp;gt;&lt;br /&gt;
   …&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann die Proxykonfiguration &amp;#039;&amp;#039;/etc/apache2/sites-available/proxy&amp;#039;&amp;#039; angelegt werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_cache.c&amp;gt;&lt;br /&gt;
        CacheDefaultExpire 86400&lt;br /&gt;
        CacheIgnoreNoLastMod On&lt;br /&gt;
        CacheMaxExpire 604800&lt;br /&gt;
        CacheStoreNoStore On&lt;br /&gt;
 &lt;br /&gt;
        &amp;lt;IfModule mod_disk_cache.c&amp;gt;&lt;br /&gt;
                CacheRoot /var/spool/squid/apache2/&lt;br /&gt;
                CacheEnable disk /&lt;br /&gt;
                CacheDirLevels 3&lt;br /&gt;
                CacheDirLength 2&lt;br /&gt;
                CacheMinFileSize 512&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;VirtualHost _default_:8080&amp;gt;&lt;br /&gt;
        ServerName leela.pocnet.net&lt;br /&gt;
        AllowConnect 443&lt;br /&gt;
        NoProxy .pocnet.net&lt;br /&gt;
        UseCanonicalName On&lt;br /&gt;
 &lt;br /&gt;
        ProxyDomain .pocnet.net&lt;br /&gt;
        ProxyReceiveBufferSize 0&lt;br /&gt;
        ProxyStatus Full&lt;br /&gt;
        ProxyRequests On&lt;br /&gt;
        ProxyVia Off&lt;br /&gt;
 &lt;br /&gt;
        &amp;lt;Proxy *&amp;gt;&lt;br /&gt;
                AddDefaultCharset off&lt;br /&gt;
                Order deny,allow&lt;br /&gt;
                Deny from all&lt;br /&gt;
                Allow from 192.168.59.0/24&lt;br /&gt;
                Allow from 2001:6f8:1296::/48&lt;br /&gt;
 &lt;br /&gt;
                # Define the character set for proxied FTP directory listings&lt;br /&gt;
                ProxyFtpDirCharset UTF-8&lt;br /&gt;
        &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
        ErrorLog /var/log/apache2/proxy_error.log&lt;br /&gt;
        CustomLog /var/log/apache2/proxy_access.log combined&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weitere Anpassungen ==&lt;br /&gt;
Nun muss noch der Platz für den Cache angepasst werden:&lt;br /&gt;
 mkdir -p /var/spool/squid/apache2&lt;br /&gt;
 chown root:root /var/spool/squid&lt;br /&gt;
 chmod 755 /var/spool/squid&lt;br /&gt;
 chown www-data:www-data /var/spool/squid/apache2&lt;br /&gt;
 chmod 750 /var/spool/squid/apache2&lt;br /&gt;
&lt;br /&gt;
Hier wurde &amp;#039;&amp;#039;/var/spool/squid/&amp;#039;&amp;#039; verwendet, weil dies von Squid-Zeiten ein eigener Mountpoint ist.&lt;br /&gt;
&lt;br /&gt;
Ebenso muss die Proxykonfiguration verlinkt und geladen werden:&lt;br /&gt;
 cd /etc/apache2/sites-enabled&lt;br /&gt;
 ln -s ../sites-available/proxy .&lt;br /&gt;
 /etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
Damit der Proxycache nicht ins Uferlose wächst, muss ein Cronjob dafür sorgen, dass aufgeräumt wird (Crontab vom User &amp;#039;&amp;#039;www-data&amp;#039;&amp;#039;), hier auf 400&amp;amp;nbsp;MB beschränkt:&lt;br /&gt;
 51 * * * *      /usr/sbin/htcacheclean -v -t -p /var/spool/squid/apache2 -l400M&lt;br /&gt;
&lt;br /&gt;
Um die separaten Logdateien muss man sich normalerweise nicht kümmern, &amp;#039;&amp;#039;logrotate&amp;#039;&amp;#039; schaut nach allen Dateien &amp;#039;&amp;#039;/var/log/apache2/*.log&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://httpd.apache.org/docs/2.2/en/mod/mod_proxy.html Apache-Doku: Mod_Proxy]&lt;br /&gt;
* [http://httpd.apache.org/docs/2.2/en/mod/mod_cache.html Apache-Doku: Mod_Cache]&lt;br /&gt;
* [http://httpd.apache.org/docs/2.2/en/caching.html Apache-Doku: Caching Guide]&lt;br /&gt;
* [http://httpd.apache.org/docs/2.2/en/vhosts/ Apache-Doku: Virtual Host Configuration]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Internet]]&lt;/div&gt;</summary>
		<author><name>PoC</name></author>
	</entry>
</feed>