Problem mit dem Squid

daseddy

Registered User
Guten Abend,

ich habe da ein kleineres Problem mit dem Squid. Um den Apache/Tomcat zu entlasten will ich einen Reverse Proxy(Squid) vorschalten. Ich stehe nun vor einem "Problemchen", was ich nicht selber lösen kann.

Beschreibung:
Aus unserem internen Netz kann ich ohne Probleme auf die Webseiten zugreifen von außerhalb bekomme ich leider ein "Access Denied". In den Logfiles steht dazu
Code:
123.123.123.123 TCP_MISS/403 2546 GET http://meineserveradresse.de/ - DIRECT/111.111.111.111 text/html
123.123.123.123 = meine externe IP
111.111.111.111 = IP des Servers

Im Apache-Log(access.log & error.log) gibt es keinen Eintrag.
Konfiguriert wie im Squid-Wiki(Link; Abschnitt "Running the web server on the same server") beschrieben.
Kann es am TCPWrapper liegen? Eigentlich ja nicht, weil ohne Squid kann ich ohne Problem auf die Webseiten zugreifen. Port 443 läuft nicht über Squid und ist von außen erreichbar.

System:
Solaris 10, Apache 2.2.8, Squid 3.0 Stable1
 
Also ich habe jetzt ein noch ein paar Erkenntnisse, die euch bei meiner Problemlösung helfen könnten. Die Lösung finde ich leider noch immer nicht selber.

Der Server ist von außen via dokumente.domain.tld zu erreichen, wobei diese URL ein Alias auf rechner1.arbeitsbereich.domain.tld ist.
Der neue Rechner auf dem der besagte Squid läuft heißt rechner2.arbeitsbereich.domain.tld und soll den rechner1 mal ablösen. Auf rechner2 läuft noch nichts produktiv.

Ich kann folgenden Effekt beobachten:
Rufe ich aus dem internen oder externen Netz: rechner2.arbeitsbereich.domain.tld auf, bekomme ich eine Squidseite, auf der mir gesagt wird ich hätte nicht die Erlaubnis die Seite zu sehen (Access denied). Ändere ich auf meinem Client in der /etc/hosts die Ip von dokumente.domain.tld auf die von rechner2, und rufe dann dokumente.domain.tld auf, bekomme ich die Seite angezeigt. Wie ich am Header sehen kann, bin ich auch auf dem richtigen Server(rechner2).
Schalte ich den Squid aus und lasse nur den Apachen laufen, funktioniert der Aufruf via dokumente.domain.tld und rechner2.arbeitsbereich.domain.tld problemlos. Ich schließe daraus, dass es nicht am Apachen liegt.
Wo müsste ich in der squid.conf dran drehen, damit es funktioniert?
Hat jemand von euch Squid als ReverseProxy laufen? Braucht ihr noch andere Angaben?

P.S.
Ich wollte den Betrag nicht pushen. Sind ja doch ein paar neue Erkenntnisse bei.
 
Sorry wegen der späten Antwort. Hier das File, die Kommentare habe ich entfernt.
Code:
negative_ttl 0 minutes
acl allsrc src all
acl rechner2 dst 111.111.111.111
acl rechner1 dst 111.111.111.112
acl rechner2 dstdom_regex -i rechner2.arbeitsbereich
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 81          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 444         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
acl PURGE method PURGE
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT
http_access allow PURGE rechner2
http_access allow rechner1
http_access allow rechner2
http_access allow allsrc
icp_access allow localnet
icp_access deny all
htcp_access allow localnet
htcp_access deny all
http_port 111.111.111.111:80 accel defaultsite=dokumente.domain.tld vhost vport=80
cache_peer 127.0.0.1 parent 80 0 no-query originserver login=PASS
hierarchy_stoplist cgi-bin ?
cache_mem 1800 MB
maximum_object_size_in_memory 180 KB
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
debug_options ALL,2
strip_query_terms off
url_rewrite_host_header off
acl QUERY urlpath_regex cgi-bin
cache deny QUERY
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i \.(css|js|doc)$ 1440 80% 2880
refresh_pattern -i \.(jpg|gif|png|mng|jpeg|tif)$ 1440 80% 2880
refresh_pattern .               360     50%     4320
cache_effective_user apache
icp_port 0
always_direct allow rechner2
 
Last edited by a moderator:
Hmmm ersetz doch mal die IPs für uns in Deiner Config mit Deinen Beispiel IPs vom ersten Beitrag, sonst bekommt man noch das totale Hirnchaos :p Wäre auch leichter dann die ACLs zu verstehen, und ob sie richtig sind.
 
Ich habe es oben mal angepaßt. :D

Ich denke der Zugriff sollte erlaubt sein.
Code:
http_access allow PURGE rechner2
http_access allow rechner1
http_access allow rechner2
http_access allow allsrc
 
Last edited by a moderator:
Back
Top