Bearbeiten von „UUGRN:Dienste/Proxy“
Aus UUGRN
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 9: | Zeile 9: | ||
Implementiert wird der Proxy-Server durch squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>. | Implementiert wird der Proxy-Server durch squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>. | ||
− | Der primäre Einsatzzweck ist dadurch entstanden, dass wir mit [[UUGRN:Jails/ | + | Der primäre Einsatzzweck ist dadurch entstanden, dass wir mit [[UUGRN:Jails/shd_ftp|ftp.uugrn.org]] das ersten rein auf IPv6 basierende Jail in Betrieb genommen haben. Da in diesem Jail auch Mirror-Scripte laufen (werden), die Dateien von IPv4-only-Quellen beziehen, wurde dieser Proxy erforderlich. |
− | Umgekehrt ist es außerdem möglich von einem IPv4-only-Client aus auf einen IPv6-only Server (z.B. [[UUGRN:Jails/ | + | Umgekehrt ist es außerdem möglich von einem IPv4-only-Client aus auf einen IPv6-only Server (z.B. [[UUGRN:Jails/shd_ftp|ftp.uugrn.org]]) zuzugreifen. |
Auch wenn heutzutage (Stand: 3/2013) die überwiegende Anzahl von öffentlichen Diensten auf Ipv4 angeboten wird, so könnte es in absehbarer Zeit passieren, dass bestimmte Angebote nur noch über IPv6 ordentlich zugreifbar sein werden. | Auch wenn heutzutage (Stand: 3/2013) die überwiegende Anzahl von öffentlichen Diensten auf Ipv4 angeboten wird, so könnte es in absehbarer Zeit passieren, dass bestimmte Angebote nur noch über IPv6 ordentlich zugreifbar sein werden. | ||
Zeile 20: | Zeile 20: | ||
Es findet keine Anonymisierung statt, alle Zugriffe werden protokolliert und Clients werden über den ''X-Forwarded-for''-Header dem Zielsystem übermittelt. | Es findet keine Anonymisierung statt, alle Zugriffe werden protokolliert und Clients werden über den ''X-Forwarded-for''-Header dem Zielsystem übermittelt. | ||
− | === | + | === Reverse-Proxy === |
− | |||
− | |||
− | |||
− | |||
Auf den IP-Adressen 164.177.171.13 und 2a03:2500:1:6:d:: läuft jeweils auf Port 80/tcp und Port 443/tcp ein Apache Webserver als Reverse-Proxy<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy.html Apache Module mod_proxy]</ref>. | Auf den IP-Adressen 164.177.171.13 und 2a03:2500:1:6:d:: läuft jeweils auf Port 80/tcp und Port 443/tcp ein Apache Webserver als Reverse-Proxy<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy.html Apache Module mod_proxy]</ref>. | ||
− | |||
Der Reverse-Proxy ist per IPv4 und IPv6 erreichbar und kann auf IPv4 und IPv6 Dienste durchleiten, so ließe sich zB ein IPv4-Only Webangebot zusätzlich mit IPv6 bereichern, indem für den entsprechenden Dienst ein Quad-A-Record in der Form "www.example.com IN AAAA 2a03:2500:1:6:d::" im DNS eingetragen wird. Zusätzlich muss in der Datei /usr/local/etc/apache22/extra/httpd-vhosts.conf ein entsprechender Vhost angelegt werden. | Der Reverse-Proxy ist per IPv4 und IPv6 erreichbar und kann auf IPv4 und IPv6 Dienste durchleiten, so ließe sich zB ein IPv4-Only Webangebot zusätzlich mit IPv6 bereichern, indem für den entsprechenden Dienst ein Quad-A-Record in der Form "www.example.com IN AAAA 2a03:2500:1:6:d::" im DNS eingetragen wird. Zusätzlich muss in der Datei /usr/local/etc/apache22/extra/httpd-vhosts.conf ein entsprechender Vhost angelegt werden. | ||
− | |||
Auf den beiden IP-Adressen wird NameBased VirtualHosting für HTTP und HTTPS (per SNI = Server Name Identifcation=mehere SSL-zertifikate hinter einer IP-Adresse auf dem gleichen port<ref>{{Wikipedia2|Server_Name_Indication|Server Name Indication}}</ref>)) implementiert. Verschiedene SSL-Namen sind auch per SAN möglich (SubjectAltName=ein SSL-Zertifikat mit mehreren gültigen Namen zusätzlich zum CommonName<ref>[http://en.wikipedia.org/wiki/Subject_Alternative_Name en.wikipedia.org/wiki/Subject_Alternative_Name]</ref>) | Auf den beiden IP-Adressen wird NameBased VirtualHosting für HTTP und HTTPS (per SNI = Server Name Identifcation=mehere SSL-zertifikate hinter einer IP-Adresse auf dem gleichen port<ref>{{Wikipedia2|Server_Name_Indication|Server Name Indication}}</ref>)) implementiert. Verschiedene SSL-Namen sind auch per SAN möglich (SubjectAltName=ein SSL-Zertifikat mit mehreren gültigen Namen zusätzlich zum CommonName<ref>[http://en.wikipedia.org/wiki/Subject_Alternative_Name en.wikipedia.org/wiki/Subject_Alternative_Name]</ref>) | ||
Das jeweils passende SSL-Zertifikat wird innerhalb des *:443-Vhosts konfiguriert. SSL mit IP basiertem VHost ist nur für (zusätzliche) IPv6-Adressen möglich oder auf alternativen Ports (zB 10443, 20443, ...) | Das jeweils passende SSL-Zertifikat wird innerhalb des *:443-Vhosts konfiguriert. SSL mit IP basiertem VHost ist nur für (zusätzliche) IPv6-Adressen möglich oder auf alternativen Ports (zB 10443, 20443, ...) | ||
− | |||
Derzeit sind folgende Dienste konfiguriert: | Derzeit sind folgende Dienste konfiguriert: | ||
− | * | + | * https://wiki.uugrn.org/ auf {{Jail|name=uug_wiki|label=wiki.uugrn.lan}} |
− | * | + | * https://blogs.uugrn.org/ auf {{Jail|name=uug_blogs|label=blogs.uugrn.lan}} |
− | * | + | * https://pad.uugrn.org/ auf {{Jail|name=uug_pad|label=pad.uugrn.lan}} |
Die Zugriffe auf http:// dieser Dienste werden direkt vom Reverse-Proxy weitergeleitet auf die jeweilige https:// -Adresse. Das kann pro Dienst individuell konfiguriert werden. | Die Zugriffe auf http:// dieser Dienste werden direkt vom Reverse-Proxy weitergeleitet auf die jeweilige https:// -Adresse. Das kann pro Dienst individuell konfiguriert werden. | ||
Zeile 47: | Zeile 40: | ||
{{Jail|name=uug_wiki|label=wiki.uugrn.lan}} und {{Jail|name=uug_blogs|label=blogs.uugrn.lan}} sind Apache 2.2 + PHP5 basiert, {{Jail|name=uug_pad|label=pad.uugrn.lan}} beheimatet lediglich ein node.js mit einem eigenen (internen) Webserver. | {{Jail|name=uug_wiki|label=wiki.uugrn.lan}} und {{Jail|name=uug_blogs|label=blogs.uugrn.lan}} sind Apache 2.2 + PHP5 basiert, {{Jail|name=uug_pad|label=pad.uugrn.lan}} beheimatet lediglich ein node.js mit einem eigenen (internen) Webserver. | ||
− | |||
Denkbar für diese Anwendung sind neben der Jail-Separierung von PHP-Applikationen auch der Zugriff auf tomcat<ref>{{Homepage2|tomcat.apache.org|Apache Tomcat}}</ref>-Applikationen (via ajp<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html Apache mod_proxy_ajp}</ref><ref>[http://tomcat.apache.org/connectors-doc/ Apache Tomcat Connector, mod_jk]</ref>) oder der (transparente) Zugriff auf externe HTTP-Dienste. Außerdem ließe sich hier an zentraler Stelle ein Web-Application-Firewall und andere Schutzmechanismen (mod_security, Authentifizierung, ... ) | Denkbar für diese Anwendung sind neben der Jail-Separierung von PHP-Applikationen auch der Zugriff auf tomcat<ref>{{Homepage2|tomcat.apache.org|Apache Tomcat}}</ref>-Applikationen (via ajp<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html Apache mod_proxy_ajp}</ref><ref>[http://tomcat.apache.org/connectors-doc/ Apache Tomcat Connector, mod_jk]</ref>) oder der (transparente) Zugriff auf externe HTTP-Dienste. Außerdem ließe sich hier an zentraler Stelle ein Web-Application-Firewall und andere Schutzmechanismen (mod_security, Authentifizierung, ... ) | ||
+ | == Ausblick == | ||
+ | Es wäre prinzipiell denkbar einen über die [[UUGRN:LDAP|Benutzerdatenbank]] authentifizierten Benutzerbetrieb des Web-Proxy-Caches (squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>) zu gestatten um Mitgliedern mit IPv4-only den Zugriff auf IPv6 zu gewähren. | ||
== Siehe auch == | == Siehe auch == | ||
− | * | + | * [[UUGRN:Jails/shd proxy|proxy.uugrn.org]] |
== Weblinks == | == Weblinks == |