自転車とプログラミング

自転車メーカーに勤める会社員がプログラミングを学ぶ中で感じたことを書きます。最近サービス作りました。

【Sinatra】Sinatraで外部接続時に接続できない問題

さくらVPSで運用していたサーバーでSinatraでWebページを開設して、ローカルから外部接続する。

Sinatraは4567番ポートで立ち上がるのでhttp://IPアドレス:4567で接続しようとするもエラーで接続できず。さてどうしたものか。

エラーの状況

Sinatraのコードを実行中は、リクエストに対するレスポンスがログとして出力される。

今回のエラーではレスポンスが一切出ておらず、リクエストがサーバー、Sinatraまで届いていないことが考えられた。

一方で参考書からコピペしたコードは変わらず外部から接続ができていたことから原因から回線を除外。行き詰まってしまった。

解決

ググったところわりとあっさり解決した。

Sinatraはデフォルトでは外部接続を受け付けない設定になっているらしい。 詳細はこちら

qiita.com

コード中にset :environment, productionと記述することで外部接続が許可される。

これで解決した。