[todo] [Software 0000758]: http und https besser trennen.

todo-notifyer at hostsharing.net todo-notifyer at hostsharing.net
Thu Mar 15 13:01:28 CET 2007


Eine Notiz wurde zu diesem Problem hinzugefügt. 
====================================================================== 
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:01 (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 577.

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 minimal 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> 

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                
   
======================================================================



More information about the Todo mailing list