Joachim Hartmann: > > zwischenzeitig ist es mir gelungen mit hilfe eines Proxy mehrere <VirtualHost > *> auf einem Rechner über https anzusprechen. SNI (Server Name Indication) sagt Dir was? Der Browsersupport ist inzwischen ganz ok. Du sperrst nur IE auf Windows XP aus. > - Der Proxy leitet die aus dem WAN eingehenden https-Anfragen intern per http > weiter. Wozu der Proxy? Wenn der mehrere IP-Adressen hat, kannst Du die doch auch direkt dem Apache geben. > - Aus dem WAN eingehenden http-Anfragen laufen nun aber auf Fehler 400 > - Wie kann ich dieses abfangen? Müsste eigentlich mit einer weiteren > rewrite-Regel in 000-default klappen! Würde mich überraschen. Requst und Response und die passenden Logs (Proxy, Apache) zeigen. Aber siehe unten. > Aber wie? > Nun meine derzeitigen Konfigurationsdateien: > ### ports.conf ############################ > Listen 80 > <IfModule mod_ssl.c> > Listen 443 > </IfModule> > <IfModule mod_gnutls.c> > Listen 443 > </IfModule> Du willst doch gar kein SSL auf dem Apache machen. 443 brauchst Du nicht. In Debians Standardconfig steht hier auch das NameVirtualHost drin, das halte ich für sinnvoll. > ### sslproxy.map ########################## > https://haz.mydomain.tld/ http://haz.mydomain.tld/ > https://np.mydomain.tld/ http://np.mydomain.tld/ > https://sysinfo.mydomain.tld/ http://sysinfo.mydomain.tld/ > https://karin.mydomain.tld/ http://karin.mydomain.tld/ > ### 000-default ########################### > NameVirtualHost * > <VirtualHost *> > ServerName www.mydomain.tld > DocumentRoot /var/www/ > ServerAdmin admin@mydomain.tld > LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" > > <IfModule mod_ssl.c> > SSLEngine on > SSLCertificateKeyFile /etc/apache2/ssl/privatekey.key > SSLCertificateFile /etc/apache2/ssl/servercert.cert > </IfModule> > > <IfModule mod_rewrite.c> > RewriteEngine On > RewriteMap domains txt:/etc/apache2/sslproxy.map > RewriteCond %{HTTP_HOST} ^([^\.]+)\. [NC] > RewriteRule ^(.+)$ http://${domains:%1}$1 [P,L] > </IfModule> > </VirtualHost> Ich verstehe nicht, was das hier mit der RewriteMap soll. Und davon ab: HTTP_HOST enthält keine komplette URL, sondern nur den Hostnamen. Das matcht nie. Wenn Du unterschiedliche Sachen auf verschiedenen Ports machen willst, schreib entsprechende VirtualHost-Abschnitte mit Beschränkung auf einen Port (<VirtualHost *:80>). Mein Rat: schmeiß das alles weg und lege unter einfach unter /etc/apache2/sites-available/ die Configs für jeden VirtualHost an. Was Du nur beachten musst: ob der Proxy den ursprünglichen Host-Header des Requests umschreibt (auf www.mydomain.tld in Deinem Beispiel). Das solltest Du möglichst unterbinden, weil Du damit dem Apache die Möglichkeit nimmst, den passenden VirtualHost auszuwählen. War es das, was Du mit der RewriteMap umschiffen wolltest? J. -- It is not in my power to change anything. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html>
Attachment:
signature.asc
Description: Digital signature