4

私の目的は、プロキシサーバーのセットアップなどに頼ることなく、Rackを介してHTTPおよびHTTPS/SSLを介して自動テストを実行することです。テストしたい宝石があり、他の人にもテストを実行してもらいたいので、できるだけ自己完結型にしたいと思います。

アプリのコードは、それ自体で実行すると正常に実行されるため、ここには含まれていません。問題はラック部分にあります。

私はこのようなことをしたいです:

app = Rack::Builder.app do
  map "/" do
    Rack::Handler::WEBrick.run App, Port: 3000
  end

  map "/ssl" do
    Rack::Handler::WEBrick.run App, Port: 3001 # more options for SSL here...
  end
end

run app

上記のコードのいくつかの組み合わせを試しました。たとえば、次のようになります。

http = Rack::Builder.app do
  map "/" do
    run App
  end
end


https = Rack::Builder.app do  
  map "/ssl" do
    run App
  end
end

Rack::Handler::WEBrick.run http, Port: 3000
Rack::Handler::WEBrick.run https, Port: 3001 # more options for SSL here...

2台のサーバーをセットアップすると、リストされている最初のポートで1台のサーバーを実行する傾向があります。次に、割り込み時に、リストされている次のポートで2番目のサーバーを実行します。次に、次の割り込みで、9292上の別のサーバーを実行するか、サーバーをシャットダウンします。下。

私は明らかに正しくないことをしています。

これは非常に近いですが、2つの異なるコマンドラインコマンドを介して2つのサーバーを実行することになります。 異なるポートでシンサーバーを起動する

どんな助けでも大歓迎です。

4

1 に答える 1

1

CurrentThinはこれをサポートしていません-私はソースコードをチェックしました。

Thin v2はまだプレリリースですが、構成コードは、構成ファイルで複数のリスナーを宣言することでこれをサポートしているように見えます。

しかし、Thinv2はまだアルファ版ソフトウェアです。

複数のポートまたはアドレスへのバインドを明示的にサポートするUnicornなどの別のサーバーに切り替えることもできます。

于 2013-05-02T22:00:35.820 に答える