Http and SSL within the same app?

You're on the right track. Create your virtual hosts so port 80 and 443 hit your app. Then use the http://svn.rubyonrails.org/rails/plugins/ssl_requirement plugin to secure certain views.