http->https redirection on the same port

Michael Nachbaur mike at nachbaur.com
Thu Jun 19 00:05:26 MSD 2008


On 17-Jun-08, at 9:11 AM, Igor Sysoev wrote:

> On Tue, Jun 17, 2008 at 08:55:35AM -0700, Michael Nachbaur wrote:
>
>> Hi, I'm currently migrating from Apache to lighttpd, but ran into a
>> blocker that I can't seem to find my way around.  So I'm looking into
>> using nginx instead, but I wanted to ask if my blocker exists here as
>> well.
>>
>> I have a web application running on a high port number.  It needs to
>> be SSL encrypted, but I need to redirect the browser to https:// URLs
>> automatically if they leave it as standard HTTP.  For instance:
>>
>> http://my.app:8000 -> https://my.app:8000
>>
>> I can't use different port numbers.  Apache supports this quite well,
>> and while supposedly lighttpd supports this in its most recent
>> version, I've been having some really weird problems I've been
>> tracking down.
>>
>> Does anyone know if this is possible with nginx?  I'll make the  
>> switch
>> in a second if it is.  Thanks.
>
>         server {
>             listen  8000;
>
>             ssl     on;
>             #other ssl stuff
>
>             error_page  497   https://my.app:8000$request_uri;
>
>             ...
>         }
>
> The 497 code means that a usual request was sent to HTTPS.

Is it possible to do this in such a way that I don't have to encode  
the hostname in the configuration file?  We would like to redirect  
requests to the original name our host was talked to with, e.g. http://1.2.3.4:8000 
  should redirect to https://1.2.3.4:8000, whereas http://my.app:8000  
should redirect to https://my.app:8000.

> BTW, how had you implemented this in Apache ?

We built this with an ugly CGI script that handled the redirection.  I  
can't remember off the top of my head how this is built, because it  
was written before my time.  Lighttpd supports a "$HOST[scheme]"  
variable that can be used to handle request configuration, but it  
seems to be buggy.





More information about the nginx mailing list