SSL + bg deployment

 

1) create a production and preproduction app.
 
I.E 
  
  • valentina/ production
  • valentina/preproduction
 
2) Set up SSL
  • acquire a domain I.E.www.beeshop.org
  • purchase an SSL certificate from a certificate authority, to have:
    • private key: I.E www.beeshop.org.key
    • intermediate authority cert: I.E GandiStandardSSLCA.cer
    • domain certificate:I.E www.beesshop.org.crt
  • concatenate the intermediate and the domain certificate to have a global certificate—> www.beesshop.org.concat.crt - note that you will probably have to add a new line in your domain certificate before concatenating (as explained here)
    $ cat www.beesshop.org.crt GandiStandardSSLCA.cer >> www.beeshop.org.concat.crt
  • validate the certificate:
    bees app:cert:validate -a valentina -cert www.beesshop.org.concat.crt  -pk www.beesshop.org.key
  • create an SSL dedicated router
    $ bees app:router:create -ac valentina -cert www.beesshop.org.concat.crt  -pk www.beesshop.org.key  valentina-router-ssl
  • make your domain point to the router, creating an A record in your DNS manager
  • force the redirect_ssl=true for the production application:
    $ bees app:proxy:update -a valentina/production redirect_ssl=true
  • do the same for your preproduction app:
    $ bees app:proxy:update -a valentina/preproduction redirect_ssl=true
  • force your production and preproduction application to use the SSLdedicated router, using the cloudbees console
  • now if you try to run the production application, an error will show up cause you are not allowed to use ssl on cloudbees domain, you need to set up an ALIAS:
  • set an alias for your production application
    $ bees app:proxy:update -a valentina/production -al www.beesshop.org
  • check on your cloudbees console that the alias was created
  • try to run your production application:
  •  
this is because now your application answers to www.beesshop.org
  • try to run your production application accessing www.beesshop.org: it should show the welcome page of your production application.
 
  • create the pair of active/standby application
    $ bees app:bg:config -n production -a1 valentina/production -a2 valentina/preproduction -pal www.beesshop.org

     

     
  • try to switch between the two applications with this command:
     $ bees app:bg:switch -n production
 
The ALIAS www.beesshop.org will be moved between the two applications.
 
Valentina Armenise
Software Engineer
CloudBees
 

Add new comment