Hi @ all,
ich versuche momentan einen SSL Proxy aufzusetzen.
Damit meine ich keinen SSL Reverse Proxy sondern ein regulärer Proxy, zu dem ich mit SSL Verbinde und ab dem Proxy weiter mit HTTP oder HTTPs weitergehe, je nach dem was ich aufgerufen habe.
Squid scheint sowas überhaupt nicht zu unterstützen, nach dem was ich rausgefunden habe, ist die https_port Option nur dafür gedacht, Squid als SSL Reverse Proxy einzusetzen.
Ich weis dass man Apache auch als regulären Proxy einsetzen kann, also hab ich versucht, darüber einen Proxy einzurichten,
ohne SSL, kein Problem
mit SSL bekomme ich es einfach nicht hin
Ich habe 2 Konfigurationen versucht:
Variante 1: Globale Proxy Configuration:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# /etc/apache2/modules.d/99_mod_proxy.conf
<IfDefine PROXY>
ProxyRequests on
Listen 3128
<Directory proxy:*>
Order allow,deny
Allow from all
#Order deny,allow
#Deny from all
#Allow from 127.0.0.1/32
</Directory>
ProxyVia on
SSLProxyEngine on
SSLProxyCACertificateFile /etc/apache2/ssl/current/certs/ca.crt
SSLProxyVerify require
SSLProxyVerifyDepth 1
</IfDefine>
|
Diese Variante funktioniert nur mit Plain-Text-Connection, ohne SSL.
-------------------------------------------------------------------------------
Variante 2: über VirtualHost und Port 3129:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<VirtualHost *:3129>
ServerAdmin "webmaster@hobbycoder.de"
ServerName proxy.hobbycoder.de
ErrorLog /var/log/apache2/proxy.hobbycoder.de-error_log
CustomLog /var/log/apache2/proxy.hobbycoder.de-access_log common
Include /etc/apache2/includes/sslsetup.inc
SSLVerifyClient optional
SSLOptions +OptRenegotiate
SSLProxyEngine on
SSLProxyCACertificateFile /etc/apache2/ssl/current/certs/ca.crt
SSLProxyVerify require
SSLProxyVerifyDepth 1
ProxyRequests on
ProxyVia on
</VirtualHost>
|
Die sslsetup.inc:
|
Quellcode
|
1
2
3
4
5
6
7
|
SSLEngine on
SSLCipherSuite HIGH:MEDIUM
SSLProtocol all -SSLv2
SSLCertificateFile /etc/apache2/ssl/current/certs/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/current/private/server.key
SSLCertificateChainFile /etc/apache2/ssl/current/certs/ca.crt
SSLCACertificateFile /etc/apache2/ssl/current/certs/ca.crt
|
Da ich nur eine IP für meinen Server hab, kann ich den Kram ruhig in ein Include extrahieren
Stelle ich nun den Browser auf Port 3129 um, erhalte ich im Browser folgende Meldung:
|
Quellcode
|
1
2
3
4
5
|
Bad Request
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
Hint: https://proxy.hobbycoder.de/ Apache Server at proxy.hobbycoder.de Port 443
|
Also stelle ich die Proxy Adresse proxy.hobbycoder.de im Browser auf
https://proxy.hobbycoder.de um, dann erhalte ich ein "Address Not Found":
|
Quellcode
|
1
2
3
4
5
|
Address Not Found
www.seamonkey-project.org could not be found. Please check the name and try again.
...
|
-------------------------------------------------------------------------------
Ist das überhaupt vorgesehen, dass eine Proxy Verbindung verschlüsselt wird? Ich habe so den Eindruck, dass die Browser ein Problem damit haben, ihre Verbindung zum Proxy zu verschlüsseln.
Sinn und Zweck des ganzen ist, dass unser FH Wlan unverschlüsselt ist und ich gerne meine Verbindungen die ich darüber laufen lasse verschlüsseln möchte. Für andere öffentliche Netzwerke (z.B. HotSpots) währe das natürlich auch interessant.
Oder kennt ihr zu diesem Zweck eine Alternativlösung? JAP ist zwar schön und gut, jedoch frisst es durch den ganzen Proxy-Cluster zu viel Leistung. Ich will ja nur eine Teilstrecke bis zum Server verschlüsseln. Privatisierung ist mir in diesem Fall ziemlich unwichtig. Zur Not schreib ich mir auch selbst einen verschlüsselnden Portforwarder oder so
thx4help, mfg pyjo