PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Apache] SSL env. variablen + mod_rewrite



explode
30.01.06, 09:15
moins,

über RewriteCond werte ich den wert einer mod_ssl umgebungsvariable aus und schreibe die url dann entsprechend um. genauer gesagt werte ich via



RewriteCond %{SSL:SSL_Client_Verify} =SUCCESS


die variable ssl_client_verify aus aber die rewrite log sagt mir immer input sei "" also leer. über CustomLog lass ich mir %{SSL_CLIENT_VERIFY}x in die logs schreiben und sehe *da* dass die variable den wert "SUCCESS" hat, aber bei RewriteCond hat sie keinen wert...?? weiss wirklich nicht woran dass liegen kann. jemand ne idee?

marce
30.01.06, 09:40
interessant wäre die conf drumrum...

edit: ... und das "=" gehört dort nicht hin

explode
30.01.06, 09:47
hello,

ok stimmt, hier die conf.

btw. wieso gehoert das "=" da nicht hin, ich denke das passt schon.



<VirtualHost *:443>
ServerName mysrv
ServerAdmin me@you.com
DocumentRoot /httpd/www
ErrorLog /httpd/www/logs
CustomLog /httpd/www/logs/access_log combined
ScriptAlias /cgi-bin/ /httpd/www/cgi-bin/

SSLEngine on
RewriteEngine On

RewriteLogLevel 4
RewriteLog /tmp/rewrite.log

SSLVerifyClient optional
SSLVerifyDepth 3

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL v2:+EXP:+eNULL

SSLCACertificateFile /etc/apache/cacert.pem
SSLCertificateFile /etc/apache/cert.crt
SSLCertificateKeyFile /etc/apache/cert.key

SSLOptions +FakeBasicAuth
SSLOptions +OptRenegotiate
SSLOptions +StdEnvVars

CustomLog /tmp/ssl.log "%t %h [.. %{SSL_CLIENT_VERIFY}x ..] \"%r\" %b"

RewriteCond %{SSL:SSL_CLIENT_VERIFY} =SUCCESS
RewriteRule /(.*) /content/$1 [L]

RewriteCond %{SSL:SSL_CLIENT_VERIFY} !=SUCCESS
RewriteRule .* http://www.heise.de [L]

<Location /content>
SSLVerifyClient require
SSLVerifyDepth 3
</Location>

<Location />
AuthName "nonsense"
AuthType Basic
require valid-user
</Location>

<Files ~ "\.(cgi|shtml|phtml|php3?|php)$">
SSLOptions +StdEnvVars
</Files>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

<Directory /httpd/www/cgi-bin>
SSLOptions +StdEnvVars
AllowOverride None
Options +ExecCGI +Includes
SetHandler cgi-script
<IfDefine PERL>
AddHandler perl-script .pl
PerlHandler Apache::Registry
PerlSendHeader On
</IfDefine>
</Directory>

<Directory /httpd/www/bla>
AllowOverride AuthConfig FileInfo
Options +Includes +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

<Directory /httpd/www/content>
AllowOverride All
Options +Includes +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
SSLOptions +StdEnvVars
</Directory>

</VirtualHost>

marce
30.01.06, 10:15
lt. http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond ist das "=" nicht nötig...

explode
30.01.06, 10:30
ist ja auch egal, in der rewrite log steht dass input leer ist ("") und eine aehnliche config (auch *mit* =) funktioniert auf nem anderen server ja. weiss nicht wieso ich den wert der variable in den logs ausgeben kann aber sie scheinbar mod_rewrite nicht zur verfuegung steht.