Skip to content

Instantly share code, notes, and snippets.

@tadast
Forked from trcarden/gist:3295935
Last active September 23, 2025 21:04
Show Gist options
  • Save tadast/9932075 to your computer and use it in GitHub Desktop.
Save tadast/9932075 to your computer and use it in GitHub Desktop.

Revisions

  1. tadast renamed this gist Apr 2, 2014. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions gistfile1.sh → ssl_puma.sh
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    # SSL self signed localhost for rails start to finish, no red warnings.

    # 1) Create your private key (any password will do, we remove it below)

    $ cd ~/.ssh
    $ openssl genrsa -des3 -out server.orig.key 2048


    @@ -33,15 +33,15 @@ $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    $ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts

    # 6) Boot thin
    # 6) Boot puma

    $ thin start --ssl --ssl-verify --ssl-key-file server.key --ssl-cert-file server.crt
    $ puma -b 'ssl://127.0.0.1:3000?key=/Users/tadas/.ssh/server.key&cert=/Users/tadas/.ssh/server.crt'

    # 7) Add server.crt as trusted !!SYSTEM!! (not login) cert in the mac osx keychain
    # Open keychain tool, drag .crt file to system, and trust everything.

    # Notes:
    # 1) Https traffic and http traffic can't be served from the same thin process. If you want
    # 1) Https traffic and http traffic can't be served from the same process. If you want
    # both you need to start two instances on different ports.
    #
    #
  2. @trcarden trcarden revised this gist Aug 8, 2012. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -37,8 +37,8 @@ $ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts

    $ thin start --ssl --ssl-verify --ssl-key-file server.key --ssl-cert-file server.crt

    # 7) Add server.crt as trusted cert in mac osx keychain
    # Simply navigate to your .crt file and double click, in the keychain tool it opens trust everything.
    # 7) Add server.crt as trusted !!SYSTEM!! (not login) cert in the mac osx keychain
    # Open keychain tool, drag .crt file to system, and trust everything.

    # Notes:
    # 1) Https traffic and http traffic can't be served from the same thin process. If you want
  3. @trcarden trcarden revised this gist Aug 8, 2012. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -25,6 +25,10 @@ Common Name: localhost.ssl
    ...


    # 4) Generate self signed ssl certificate

    $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    # 5) Finally Add localhost.ssl to your hosts file

    $ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts
  4. @trcarden trcarden revised this gist Aug 8, 2012. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -31,9 +31,10 @@ $ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts

    # 6) Boot thin

    $ thin start --ssl --ssl-verify --ssl-key-file certs/server.key --ssl-cert-file certs/server.crt
    $ thin start --ssl --ssl-verify --ssl-key-file server.key --ssl-cert-file server.crt

    7) Add server.crt as trusted cert in mac osx keychain
    # 7) Add server.crt as trusted cert in mac osx keychain
    # Simply navigate to your .crt file and double click, in the keychain tool it opens trust everything.

    # Notes:
    # 1) Https traffic and http traffic can't be served from the same thin process. If you want
  5. @trcarden trcarden revised this gist Aug 8, 2012. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -19,6 +19,7 @@ $ openssl req -new -key server.key -out server.csr
    # (has to do with non internal domain names ... which sadly can be
    # avoided with a domain name with a "." in the middle of it somewhere)

    Country Name (2 letter code) [AU]:
    ...
    Common Name: localhost.ssl
    ...
    @@ -38,4 +39,4 @@ $ thin start --ssl --ssl-verify --ssl-key-file certs/server.key --ssl-cert-file
    # 1) Https traffic and http traffic can't be served from the same thin process. If you want
    # both you need to start two instances on different ports.
    #
    #
    #
  6. @trcarden trcarden revised this gist Aug 8, 2012. 1 changed file with 11 additions and 6 deletions.
    17 changes: 11 additions & 6 deletions gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -1,14 +1,17 @@
    # SSL self signed localhost for rails start to finish, no red warnings.

    1) Create your private key (any password will do, we remove it below)
    # 1) Create your private key (any password will do, we remove it below)

    $ openssl genrsa -des3 -out server.orig.key 2048


    2) Remove the password
    # 2) Remove the password

    $ openssl rsa -in server.orig.key -out server.key


    3) Generate the csr (Certificate signing request) (Details are important!)
    # 3) Generate the csr (Certificate signing request) (Details are important!)

    $ openssl req -new -key server.key -out server.csr

    # IMPORTANT
    @@ -21,11 +24,13 @@ Common Name: localhost.ssl
    ...


    5) Finally Add localhost.ssl to your hosts file
    # 5) Finally Add localhost.ssl to your hosts file

    $ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts

    6) Boot thin
    thin start --ssl --ssl-verify --ssl-key-file certs/server.key --ssl-cert-file certs/server.crt
    # 6) Boot thin

    $ thin start --ssl --ssl-verify --ssl-key-file certs/server.key --ssl-cert-file certs/server.crt

    7) Add server.crt as trusted cert in mac osx keychain

  7. @trcarden trcarden renamed this gist Aug 8, 2012. 1 changed file with 11 additions and 5 deletions.
    16 changes: 11 additions & 5 deletions gistfile1.txt → gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -1,14 +1,17 @@
    # SSL self signed localhost for rails start to finish, no red warnings.

    # Create your private key (any password will do, we remove it below)
    1) Create your private key (any password will do, we remove it below)
    $ openssl genrsa -des3 -out server.orig.key 2048

    # Remove the password

    2) Remove the password
    $ openssl rsa -in server.orig.key -out server.key

    # Generate the csr (Certificate signing request) (Details are important!)

    3) Generate the csr (Certificate signing request) (Details are important!)
    $ openssl req -new -key server.key -out server.csr

    # IMPORTANT
    # MUST have localhost.ssl as the common name to keep browsers happy
    # (has to do with non internal domain names ... which sadly can be
    # avoided with a domain name with a "." in the middle of it somewhere)
    @@ -17,12 +20,15 @@ $ openssl req -new -key server.key -out server.csr
    Common Name: localhost.ssl
    ...

    Finally Add localhost.ssl to your hosts file

    5) Finally Add localhost.ssl to your hosts file
    $ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts

    # Boot thin
    6) Boot thin
    thin start --ssl --ssl-verify --ssl-key-file certs/server.key --ssl-cert-file certs/server.crt

    7) Add server.crt as trusted cert in mac osx keychain

    # Notes:
    # 1) Https traffic and http traffic can't be served from the same thin process. If you want
    # both you need to start two instances on different ports.
  8. @trcarden trcarden created this gist Aug 8, 2012.
    30 changes: 30 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,30 @@
    # SSL self signed localhost for rails start to finish, no red warnings.

    # Create your private key (any password will do, we remove it below)
    $ openssl genrsa -des3 -out server.orig.key 2048

    # Remove the password
    $ openssl rsa -in server.orig.key -out server.key

    # Generate the csr (Certificate signing request) (Details are important!)
    $ openssl req -new -key server.key -out server.csr

    # MUST have localhost.ssl as the common name to keep browsers happy
    # (has to do with non internal domain names ... which sadly can be
    # avoided with a domain name with a "." in the middle of it somewhere)

    ...
    Common Name: localhost.ssl
    ...

    Finally Add localhost.ssl to your hosts file
    $ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts

    # Boot thin
    thin start --ssl --ssl-verify --ssl-key-file certs/server.key --ssl-cert-file certs/server.crt

    # Notes:
    # 1) Https traffic and http traffic can't be served from the same thin process. If you want
    # both you need to start two instances on different ports.
    #
    #