36

powは素晴らしいですが、私のアプリの多くのものはhttpsを想定しており、それらすべてを調べて「開発環境でない場合」を追加するのは面倒です。powにhttpsを提供させることは可能ですか?

4

7 に答える 7

48

私が見つけた最も簡単な方法は、トンネルを使用することでした: https://github.com/jugyo/tunnels

$ gem install tunnels
$ rvmsudo tunnels   # or just use sudo if using rbenv

構成は必要ありません。

于 2012-10-26T17:08:47.647 に答える
16

オプション 1: TunnellessでPowを完了する

私はTunnels ソリューションに問題を抱えていました。これは素晴らしいものですが、ブラウザによって安全でないと認識されるため、たとえば CORS で遊んでいるときに頭痛の種になります。

私はPowSSL ソリューション(スタッドを使用するソリューション) をテストしましたが、HTTP_X_FORWARDED_PROTO. HTTPS でした)。

.devしかし、この後者のアプローチは、構成されたすべての POWドメインに対して有効な証明書を生成していたため、優れていました。

そこで、2 つのアプローチを組み合わせたtunnelssを構築しました。これはトンネルのフォークであり、証明書の生成を追加します!

楽しんでいただければ幸いです。完成させたい場合は、お気軽にプルリクエストを送信してください。今のところ、MacOS X で動作する高速ハックです...

オプション 2: Invokerに切り替える (今のところフォークを使用)

Invoker は、HTTPS サポートがネイティブに含まれているため、Pow の優れた代替品です。HTTPS を取得するために Pow の上に別のソリューションを追加する必要はありません!

ただし、Pow と比較すると、2 つの制限があることがわかりました。

  • プロセスごとにコマンドを指定して、実行できるようにする必要があります。
  • localhost へのすべてのリクエストを処理し、それらを特定のアプリケーションにプロキシするデフォルトのルールを設定することはできません。

これらの制限を克服するのは難しくなく、2 つの変更をプル リクエストしました。承認されるまでは、次の方法でフォークされたバージョンをインストールできます。

git clone https://github.com/rchampourlier/invoker invoker -b proxy-only-mode
cd invoker
gem build invoker.gemspec
gem install invoker-1.5.0.gem

このフォークを使用すると、たとえば~/.invoker.ini次のようなグローバル構成を使用できるようになります。

[my-rails-app]
port = 3000

[my-sinatra-app]
port = 9292

[default]
port = 9292

...そして、次のコマンドで Invoker をプロキシとして実行します。

invoker ~/.invoker.ini -d
于 2013-08-16T11:45:08.610 に答える
7

stunnel を使用して、pow サーバーへのトンネルを作成します。

お気に入り:

stunnel3 -f -d 443 -r 127.0.0.1:80
于 2011-07-14T03:08:40.683 に答える
7

POW は現在 SSL をサポートしていません ( https://github.com/37signals/pow/issues/5 )。しかし、他にも多くの人があなたと同じ欲求を持っているので、将来のリリースに含まれることを願っています!

コードを変更する手間をかけたくない場合の最良の代替ソリューションは、Apache をセットアップして開発用 SSL 証明書を生成することです。これには hosts ファイルを変更する必要があり、残念ながら POW ほど「洗練された」ものではありませんが、厄介な環境固有の条件を回避できるという利点があります。

編集:

最新の更新は、次のガイドで概説されているように、Nginx を使用して POW を SSL で構成できることです。

https://gist.github.com/gvarela/928606/

于 2011-05-23T23:09:47.957 に答える
5

最近、スタッド トンネルを使用するスクリプトを作成しました。 https://gist.github.com/2050941#file_gistfile1.md

于 2012-03-16T19:32:32.693 に答える
3

現在、nginx を介して SSL プロキシを設定することにより、POW を使用しながら SSL を使用する方法があります。

見てみましょう: http://shiny-bits-of-code.tumblr.com/post/4749553253/ssl-proxy-with-nginx

于 2011-06-09T12:22:11.667 に答える
0

これはここでもうまくカバーされています:

http://railscasts.com/episodes/352-securing-an-api

于 2012-08-24T08:47:43.320 に答える