LoginSignup
20
21

More than 3 years have passed since last update.

ローカル開発環境でのHTTPSの確認

Last updated at Posted at 2016-10-19

環境

Rails 4.2.6

Thin

以下のように thin を起動するだけで良い。オレオレ証明書とか不要。

$ thin start --ssl -p 3001

参考: Railsのローカル環境でSSL(https)を使う - Qiita

Puma

オレオレ証明書が必要でちょっとめんどくさい。

オレオレ証明書を作る

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

(remove the password)
$ openssl rsa -in server.orig.key -out server.key

(generate the csr)
$ openssl req -new -key server.key -out server.csr

(色々聞かれるので入力する)

(self signed ssl certificate)
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

puma 起動

$ puma -b 'ssl://0.0.0.0:3000?key=/home/hoge/.ssh/server.key&cert=/home/hoge/.ssh/server.crt'

puma 起動設定ファイル

いちいち コマンドラインオプションで指定するのも面倒なので設定ファイルに記述する。

puma.rb
ssl_bind '0.0.0.0', '3000', {
  key: "/home/hoge/.ssh/server.key",
  cert: "/home/hoge/.ssh/server.crt" 
}

こうしておけば以下のように起動するだけでOk

$ puma -C puma.rb

参考: localhost SSL with puma

Nginx

※先の「Puma」で記載したのと同じ内容でオレオレ証明書があって /home/vagrant/.ssh/server.crt に保存されている前提


server {
    listen 80;
    listen 443 ssl;   # <-- ポート443を待ち受ける

    # 以下SSLを有効化して証明書/鍵を設定
    ssl on;
    ssl_certificate       /home/vagrant/.ssh/server.crt;
    ssl_certificate_key   /home/vagrant/.ssh/server.key;

上記設定後、 https://localhost/xxx にアクセスできたらOK

参考: Nginx ~ SSL Terminateの検証 : オラクる。

20
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
21