0
0

More than 1 year has passed since last update.

Rails7のローカル開発環境をhttps接続させる

Posted at

概要

Rails7のローカル開発環境をhttpsで接続させる方法について調べたのでメモとして記載
調べるといくつか方法はあるが、今回はhttps-portalを使ってアクセスできるようにしてみた

以下の記事をなぞりつつ、途中でつまづいた部分を記録
https://zenn.dev/dragonarrow/articles/1f3c34e31d0acc

前提

  • local環境のdockerでRails7が動く

local環境

  • M1 Mac
  • OS:Monterey

流れ

/etc/hostsにドメインを追加

local環境で/etc/hostsファイルに以下を追加

127.0.0.1 devsite.local

docker-compose.ymlにhttps-portalを追加

environmentのDOMAINSにhostsで指定したものと同じものを指定

docker-compose.yml
:
:
  https-portal:
    image: steveltn/https-portal:1
    ports:
      - '80:80'
      - '443:443'
    links:
      - web
    restart: always
    environment:
      DOMAINS: 'devsite.local -> http://web:3000'
      STAGE: 'local'
    volumes:
      - ./https-portal:/var/lib/https-portal

config/environments/development.rb

許可するホストにDOMAINSにhostsで指定したものと同じものを指定

:
:
  config.hosts << "devsite.local"

docker-compose buildとdocker-compose up -d

ビルドしてコンテナを起動させる

docker-compose build
docker-compose up -d

以下のエラーが出た場合

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:80 -> 0.0.0.0:0: listen tcp 0.0.0.0:80: bind: address already in use

localで既にPort80が利用されているので、開発中は一時的に停止させるようにする

  • portの状況確認
$ sudo lsof -i -P | grep "LISTEN"
httpd       138           root    4u  IPv6 0x6e905bbde2bd865d      0t0    TCP *:80 (LISTEN)
httpd       401           _www    4u  IPv6 0x6e905bbde2bd865d      0t0    TCP *:80 (LISTEN)
:
:
  • localで動いているapacheの一時停止
$ sudo apachectl stop
  • 再度コンテナを起動させてみる
docker-compose up -d

httpsでアクセス

https://devsite.local/でアクセスし、railsの画面が表示されるかを確認

スクリーンショット 2023-01-31 0.14.12.png

0
0
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
0
0