views:

25

answers:

1

Hi Guys,

The setup I have is as follows:

I have one Apache server acting as a URL rewriting engine (SERVER1).

I have a second server (Apache too) which runs a web application (SERVER2). First tries to authenticate users. Part of the authentication protocol involves a lot of redirection between that application server and the authentication server.

My problem is that once the authencation is successfull, the authentication server needs to redirect the user back to the application server, which is only visible from SERVER1. Effectively, SERVER2 needs to be able to reconstruct a URL based on SERVER1's parameters.

Most of the environement variable are helpful i.e. I know the host name, script name, page called etcc but I can 't figure out wether the call was made through HTTP or HTTPS: that information is wiped in the rewrite process by SERVER1...

Anybody knows if/how I can get that information through environement variables? I am limited in that I can't use query string parameters...

Thanks all !

A: 

This may sound strange, but I have found part of the answer to my question.

The rewrite engine (at least in Apache 2, I haven't looked anywhere else) allows for writting extra request header.

The rule should look something like that.

RewriteRule .* - [E=INFO_PATH_INFO:%{PATH_INFO},NE]

Put simple, it creates a new header called INFO_PATH_INFO and sets the value to PATH_INFO. ( For more info check out http://www.askapache.com/htaccess/crazy-advanced-mod_rewrite-tutorial.html )

Then it can be retrieved in any languages. For info I am using Oracle's OWA which adds an extra layer of complication due to the fact that the default environment variables are limited to a few and additional variables need to be specified in thr dads.conf

Hope this will help anyone !

rafrafUk