軽量フレームワーク Sinatra その2

おくの@LL部(軽量言語)です。
今回はnginxとsinatraを組み合わせた、運用方法についてです。

軽量言語の軽量フレームワークSinatraでは、とにかく開発を優先し
mongrelやfastcgiを利用せずに、起動が容易いWEBrickを利用する場合についてです。

WEBRickをそのまま、フロントに立たせるのも気が引けるので
nginxからproxyをしてやります。

《 nginx.conf設定例 》
    location /sinatra/ {
        proxy_pass http://localhost:3000/;
    }
    location /__sinatra__/ {
        root   /usr/share/nginx/html;
    }

※__sinatra__ について
(私の試したバージョンの)sinatraは、エラー画面での画像を /__sinatra__/ にリクエストしていました。
取り合えずということで,gemのディレクトリーから適宜ファイルを nginxのドキュメントルートに移し、設定を追加しました。

http://yourhost.yourdomain/sinatra/
で、nginx経由でアプリにアクセス可能です。

アクセス制御等は、sinatraで実装する方法は勿論ありますが(むしろ、それが普通)
何よりも、完成のみを急ぐ場合には、nginx層でip制限や、basic認証を行うのも有効な手段です。
nginx-shinatra.png

そして、nginxの設定で、悪意の無いと思われるhostのみアクセス出来るように
nginx側で設定を行います。こちらについては、basic認証、ip制限等がまず思いつきます。

この用に簡易的なcgiをWebサーバー上で稼動させる場合には、
接続先の制限や、必要な認証をnginx(WebServer)側で十分に検討してやる必要が有りますが
上手く組み合わせる事で、簡単に今利用している自作ツールにWebの実行インターフェースを持たせる事が可能なのです。

biz-Stream詳細情報  biz-Stream資料請求

超高速!!高機能!! Web帳票ソリューション biz-Stream

オンデマンドかつリアルタイムにビジネスドキュメントを生成する帳票ソリューション