For me this solution wasn't working. I dunno if it is a change from Rails3 or not, but the method checking for ssl requests expects a different request header:
def ssl? @env['HTTPS'] == 'on' || @env['HTTP_X_FORWARDED_PROTO'] == 'https' end I modified my proxy config to set the correct header (this is the resulting line) # Set header to indentify https requests for Mongrel RequestHeader set HTTP_X_FORWARDED_PROTO "https" After this, everything was working. This is how my config looks in the end: <VirtualHost *:80> Include sites-available/common/my_site ... </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> Include sites-available/common/my_site SSLProxyEngine on # The values for these three checks are already like this by default # Just know that they can be used for more complicated configs # SSLProxyCheckPeerCN off # SSLProxyCheckPeerExpire off # SSLProxyVerify none # Set header to indentify https requests for Mongrel RequestHeader set HTTP_X_FORWARDED_PROTO "https" SSLEngine on # Server Certificate SSLCertificateFile /etc/apache2/ssl/my_certificate.crt # Server Private Key SSLCertificateKeyFile /etc/apache2/ssl/my_private.key ... othere SSL settings ... </VirtualHost> </IfModule> # Content of sites-available/common/my_site ServerName my_site ServerAlias my_site *.my_site DocumentRoot /path/to/public/folder/of/my/app <Directory /path/to/public/folder/of/my/app> AllowOverride all Options -MultiViews </Directory> <Proxy *> # Review this if you need more restrictive access Order Allow,Deny Allow from all Deny from none </Proxy> # Even for https, we redirect to http # We already set HTTP_X_FORWARDED_PROTO to https in the 443 virtual host ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPreserveHost on I hope this helps other people too! -- Posted via http://www.ruby-forum.com/. _______________________________________________ Mongrel-users mailing list Mongrel-users@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-users