Question

Photo of Andrew Lee

0

How to Enable SSL

Hi All,

I can't seem to find how to enable SSL within the Rock.  Coud someone advise?

Thank You!

Andrew

  • Photo of Trey Hendon III

    2

    Hi Andrew,

    Generally we do this page-by-page, however, once the user is sent to a secured page [generally] they're kept in an https session.  So, the quickest way to do this is to set the Page Properties to Require SSL.

    Before following the next few steps, make sure you've got the SSL certificate installed correctly by trying to access the site mannually with the https prefix.  If that works, then you should be safe to proceed.

    To force the Internal Pages to SSL:

    1. Login and navigate to: Admin Tools > CMS Configuration > Page Map
    2. Expand: Internal Homepage > Admin Tools > Security
    3. Click the Login page. (You should end up on the Internal Site's Login Page, as a logged in user seeing the Admin options in the bottom right.)
    4. Click the Page Properties [Gear] Icon.
    5. Click the Advanced Settings tab.
    6. Check the Force SSL box and save.

    Now, anytime a user accesses the Login page it will force them to a SSL session.

    There are a few flaws with this method.  The biggest one (and why I opted for a more advanced SSL redirect option for my staff pages) is that when a user comes back to the Internal pages and is already logged in, they by-pass the forced SSL and that's not good.

    So, here are two other options to consider:

    1. Check the Force SSL flag on EVERY page of the Staff pages and any critical pages on the public site (I recommend doing that in SQL for all the Internal pages).
    2. Use IIS for the redirection (this is what I do).

    For the IIS Redirection:

    1. Setup a dummy site in IIS for the Internal site.
    2. Give it only the http binding for the URL you're wanting to force to SSL.
    3. Use the HTTP Redirect option to forward requests to:  https://internal.yoururl.com$V$Q  (NOTE: No trailing slash.  Also, $V$Q are special characters for IIS to include the URL Params and their Values when redirecting.)
    4. Check: "Redirect all requests to exact destination.
    5. Uncheck: "Only redirect requests to content in this directory."
    6. Status Code: Permanent (301)

    Now, IIS will redirect any request to the https version of the page.
     
    Hope those ideas help!
    Trey

  • Photo of Andrew Lee

    0

    This is great information guys -- exactly what I was needing!  We have the SSL cert - and it works great when manually browsing to the site via HTTPS://xxxxx.

     

    Thank you!

    • Trey Hendon III

      Awesome! Yeah, the warning about making sure you can browse there manually first comes from a lesson learned the hard way with IIS and HTTPS Bindings in IIS. :)