Skip to content

Instantly share code, notes, and snippets.

@gertig
Forked from levicook/ssl on lvh.me
Created February 8, 2016 19:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gertig/4203909ea6df639cb14e to your computer and use it in GitHub Desktop.
Save gertig/4203909ea6df639cb14e to your computer and use it in GitHub Desktop.

I am the owner of lvh.me. And I'm glad to hear it's helpful. In truth, it's just a fancy DNS trick. lhv.me and all of it's sub-domains just point back to your computer (127.0.0.1). That means running ssl is as simple (or difficult) as running ssl on your computer.

I'm not sure how comfortable you are with the command line, but here's my how I setup my development environment. (rvm, passenger, nginx w/ SSL, etc).

Install rvm (no sudo!)

------------------------------------------------------

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head ) source ~/.rvm/scripts/rvm rvm install ree-1.8.7-2010.02 rvm ree --passenger sudo mkdir -p /opt && sudo chown -R $USER /opt passenger-install-nginx-module --auto --prefix=/opt/nginx/ --auto-download --extra-configure-flags=--with-http_ssl_module

Setup a self-signed SSL certificate

curl http://www.selfsignedcertificate.com/download.php?file=28727991/www.example.com.key > /opt/nginx/conf/server.key

curl http://www.selfsignedcertificate.com/download.php?file=28727991/www.example.com.cert > /opt/nginx/conf/server.crt

Sanity check your passenger_root and passenger_ruby

Define virtual hosts in /opt/nginx/config/nginx.conf

eg:

http {

passenger_root /Users/levi/.rvm/gems/ree-1.8.7-2010.02/gems/passenger-2.2.15; passenger_ruby /Users/levi/.rvm/bin/passenger_ruby; passenger_pool_idle_time 3600; # keep apps alive

foo.lvh.me (http)

------------------------

server { listen 80; server_name foo.lvh.me; root /Users/levi/projects/foo/public; passenger_enabled on; rails_env development; }

foo.lvh.me (https)

------------------------

server { listen 443; ssl on; ssl_certificate /opt/nginx/conf/server.crt; ssl_certificate_key /opt/nginx/conf/server.key; server_name foo.lvh.me; root /Users/levi/projects/foo/public; passenger_enabled on; rails_env development; } }

Start nginx

------------------------------------------------------

sudo /opt/nginx/sbin/nginx

Stop nginx

------------------------------------------------------

sudo /opt/nginx/sbin/nginx -s stop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment