Skip to content

Instantly share code, notes, and snippets.

@duduribeiro
Forked from levicook/ssl on lvh.me
Created December 30, 2019 19:53
Show Gist options
  • Save duduribeiro/28a7d06f72ec7b49e15bccfed1224da1 to your computer and use it in GitHub Desktop.
Save duduribeiro/28a7d06f72ec7b49e15bccfed1224da1 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