[todo] [Software 0000758]: http und https besser trennen.
todo-notifyer at hostsharing.net
todo-notifyer at hostsharing.net
Thu Mar 15 13:19:06 CET 2007
Das folgende Problem wurde aktualisiert.
======================================================================
https://todo.hostsharing.net/view.php?id=758
======================================================================
Berichtet von: purodha
Zugewiesen an:
======================================================================
Projekt: Software
Problem ID: 758
Kategorie: Paketkonfiguration
Reproduzierbarkeit: N/A
Auswirkung: Feature-Wunsch
Priorität: normal
Status: neu
======================================================================
Erstellt am: 15.03.2007 12:46 (CET)
Letzte Aktualisierung: 15.03.2007 13:19 (CET)
======================================================================
Zusammenfassung: http und https besser trennen.
Beschreibung:
Für Pakete mit https-option wäre es vernünftig, Webserverzugriffe per http
von denen per https sauber separieren zu können, s.a. bug 757.
Dazu schlage ich vor, in der httpd-ssl-Konfig die Verzeichnisse
cgi, htdocs und subs des Domainverzeichnisses durch
cgi-ssl, htdocs-ssl und subs-ssl
(a) zu ersetzen oder
(b) optional zu ergänzen.
beigefügt ist je eine modifizierte /etc/httpd-ssl/pacs/dom.template
in der Hoffnung, das die auf h03 aktuell genug war :-) unter
Berücksichtigung der vorgeschlagenen Korrektur aus bug 576.
In beiden Fällen ändert sich für http-Zugriffe nichts.
Bei http-ssl werden:
- im Fall (a) die Requests aus den *-ssl Verzeichnissen befriedigt. Um den
jetzigen Zustand zu behalten, muss dreimal pro Domain je ein Symlink vom
*-ssl auf das *-Verzeichnis angelegt werden. Nachteil: das muß for dem
Umstellen der Konfig in allen betroffenen Paketen gemacht werden. Vorteil:
Konfig-Dateien bleiben praktisch gleich groß; werden häufig die
Verzeichnisse tatsächlich getrennt, läuft es etwas schneller, als (b)
- im Fall (b) schaut der Webserver zuerst nach den *-ssl Verzeichnissen.
Gibt es eines nicht, wird das entsprechende Verzeichnis ohne -ssl
genommen. Nachteil: Größere Konfig-Files, der Webserver tut mehr pro
Request. Vorteil: keine Änderungen im Dateisystem notwendig.
Ich hatte keine Möglichkeit, die vorgeschlagenen dom-ssl.template Dateien
zu testen.
======================================================================
Problem-Beziehungen ID Zusammenfassung
----------------------------------------------------------------------
verwandt mit 0000757 Http-Auth Passworte können nicht per ht...
======================================================================
----------------------------------------------------------------------
purodha - 15.03.07 13:00
----------------------------------------------------------------------
# Nachdem dieser Text sich nicht als Datei hochladen ließ (bug 759) eben
als Anmerkung.
#
------------------------------------------------------------------------------
# erweiterte ssl Konfig (a) https://todo.hostsharing.net/view.php?id=758
<VirtualHost {IPNUMBER} {IPNUMBER_EX}>
SSLEnable
SSLCertificateFile /etc/httpd-ssl/pems/{CERT}.pem
{SSLCHAIN}SSLCACertificateFile /etc/httpd-ssl/pems/{CERT}.chain.pem
ServerName {DOM}
ServerAlias *.{DOM}
User {OWNER}
Group {PAC}
ServerAdmin {OWNER}@{HIVE}.hostsharing.net
DocumentRoot /home/doms/{DOM}/htdocs-ssl
php_admin_value open_basedir {BASEDIR}:/usr/share/php/
RewriteEngine on
RewriteMap lower int:tolower
#RewriteLog
/home/pacs/{PAC}/var/rewrite.log
#RewriteLogLevel 9
# DOMAIN.TLD -> www.DOMAIN.TLD (client side rewrite)
RewriteCond %{HTTP_HOST} ^{DOM}\.?(:443)?$
RewriteCond /home/doms/{DOM}/htdocs-ssl !-d
RewriteRule ^(.*) https://www.{DOM}%1$1 [redirect=permanent,last]
#pac-httpd-only## ...:443 -> ... (client side rewrite)
#pac-httpd-only#RewriteCond %{HTTP_HOST} ^(.*):443$
#pac-httpd-only#RewriteRule ^(.*) https://%1$1 [redirect=permanent,last]
# (SUB.)DOMAIN.TLD/cgi-bin/* -> /home/doms/DOMAIN.TLD/cgi-ssl/* (server
side rewrite)
RewriteRule ^/cgi-bin/(.*)$ /home/doms/{DOM}/cgi-ssl/$1
[type=application/x-httpd-cgi,env=HTTP_CGI_AUTHORIZATION:%{HTTP:Authorization},last]
# DOMAIN.TLD -> /home/doms/DOMAIN.TLD/htdocs-ssl (server side rewrite)
RewriteCond %{HTTP_HOST} ^{DOM}\.?(:443)?$
RewriteRule ^(.*) /home/doms/{DOM}/htdocs-ssl$1 [last]
# SUB.DOMAIN.TLD -> /home/doms/DOMAIN.TLD/subs/SUB (server side rewrite)
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM}\.?(:443)?$
RewriteRule ^(.*) /home/doms/{DOM}/subs-ssl/${lower:%1}$1 [last]
RewriteOptions inherit
<Directory /home/doms/{DOM}>
AllowOverride AuthConfig FileInfo Indexes Limit
</Directory>
AddHandler server-parsed .shtml
AddType text/html .shtml
</VirtualHost>
----------------------------------------------------------------------
purodha - 15.03.07 13:01
----------------------------------------------------------------------
# Nachdem dieser Text sich nicht als Datei hochladen ließ (bug 759) eben
als Anmerkung.
#
------------------------------------------------------------------------------
# erweiterte ssl Konfig (b) https://todo.hostsharing.net/view.php?id=758
<VirtualHost {IPNUMBER} {IPNUMBER_EX}>
SSLEnable
SSLCertificateFile /etc/httpd-ssl/pems/{CERT}.pem
{SSLCHAIN}SSLCACertificateFile /etc/httpd-ssl/pems/{CERT}.chain.pem
ServerName {DOM}
ServerAlias *.{DOM}
User {OWNER}
Group {PAC}
ServerAdmin {OWNER}@{HIVE}.hostsharing.net
DocumentRoot /home/doms/{DOM}/htdocs-ssl
php_admin_value open_basedir {BASEDIR}:/usr/share/php/
RewriteEngine on
RewriteMap lower int:tolower
#RewriteLog
/home/pacs/{PAC}/var/rewrite.log
#RewriteLogLevel 9
# DOMAIN.TLD -> www.DOMAIN.TLD (client side rewrite)
RewriteCond %{HTTP_HOST} ^{DOM}\.?(:443)?$
RewriteCond /home/doms/{DOM}/htdocs-ssl !-d
RewriteCond /home/doms/{DOM}/htdocs !-d
RewriteRule ^(.*) https://www.%{HTTP_HOST}$1 [redirect=permanent,last]
#pac-httpd-only## ...:443 -> ... (client side rewrite)
#pac-httpd-only#RewriteCond %{HTTP_HOST} ^(.*):443$
#pac-httpd-only#RewriteRule ^(.*) https://$1 [redirect=permanent,last]
# (SUB.)DOMAIN.TLD/cgi-bin/* -> /home/doms/DOMAIN.TLD/cgi/* (server side
rewrite)
RewriteCond /home/doms/{DOM}/cgi-ssl !-d
RewriteRule ^/cgi-bin/(.*)$ /home/doms/{DOM}/cgi/$1
[type=application/x-httpd-cgi,env=HTTP_CGI_AUTHORIZATION:%{HTTP:Authorization},last]
# (SUB.)DOMAIN.TLD/cgi-bin/* -> /home/doms/DOMAIN.TLD/cgi-ssl/* (server
side rewrite)
RewriteRule ^/cgi-bin/(.*)$ /home/doms/{DOM}/cgi-ssl/$1
[type=application/x-httpd-cgi,env=HTTP_CGI_AUTHORIZATION:%{HTTP:Authorization},last]
# DOMAIN.TLD/htdocs-ssl -> DOMAIN.TLD/htdocs (server side rewrite)
RewriteCond %{HTTP_HOST} ^{DOM}\.?(:443)?$
RewriteCond /home/doms/{DOM}/htdocs-ssl !-d
RewriteRule ^(.*) /home/doms/{DOM}/htdocs$1 [last]
# DOMAIN.TLD -> /home/doms/DOMAIN.TLD/htdocs-ssl (server side rewrite)
RewriteCond %{HTTP_HOST} ^{DOM}\.?(:443)?$
RewriteRule ^(.*) /home/doms/{DOM}/htdocs-ssl$1 [last]
# SUB.DOMAIN.TLD -> /home/doms/DOMAIN.TLD/subs-ssl/SUB (server side
rewrite)
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM}\.?(:443)?$
RewriteCond /home/doms/{DOM}/htdocs-ssl -d
RewriteRule ^(.*) /home/doms/{DOM}/subs-ssl/${lower:%1}$1 [last]
# SUB.DOMAIN.TLD -> /home/doms/DOMAIN.TLD/subs/SUB (server side rewrite)
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM}\.?(:443)?$
RewriteRule ^(.*) /home/doms/{DOM}/subs/${lower:%1}$1 [last]
RewriteOptions inherit
<Directory /home/doms/{DOM}>
AllowOverride AuthConfig FileInfo Indexes Limit
</Directory>
AddHandler server-parsed .shtml
AddType text/html .shtml
</VirtualHost>
----------------------------------------------------------------------
purodha - 15.03.07 13:19
----------------------------------------------------------------------
Ich favorisiere im Moment Variante (a), die unkomplizierter zur Laufzeit
ist, weniger Serverlast bringt, und dem Paketadmin größere Flexibilität
läßt.
(Ich würde in meinem Paket die notwendigen *-ssl Symlinks auch selber
anlegen, während ich die echten *-ssl Verzeichnisse einrichte)
Problem-Historie
Änderungsdatum Benutzername Feld Änderung
======================================================================
15.03.07 12:46 purodha Neues Problem
15.03.07 12:53 purodha Beziehung hinzugefügt verwandt mit 0000757
15.03.07 13:00 purodha Problemnotiz hinzugefügt: 0001759
15.03.07 13:01 purodha Problemnotiz hinzugefügt: 0001760
15.03.07 13:19 purodha Problemnotiz hinzugefügt: 0001761
15.03.07 13:19 purodha Beschreibung aktualisiert
15.03.07 13:19 purodha Zusätzliche Informationen aktualisiert
======================================================================
More information about the Todo
mailing list