pow很棒,但我的应用程序中的很多东西都假设是https,通过它们并添加“if not dev environment”会很痛苦。是否可以使用pow服务https?
答案 0 :(得分:48)
我找到的最简单方法是使用隧道:https://github.com/jugyo/tunnels
$ gem install tunnels
$ rvmsudo tunnels # or just use sudo if using rbenv
无需配置。
答案 1 :(得分:16)
我一直遇到隧道解决方案的问题,这很好,但会被浏览器看不清楚,这会让你在玩CORS时感到头疼例如。
我已经测试了 PowSSL解决方案(使用Stud的那个),但它缺少HTTP_X_FORWARDED_PROTO
,当你的应用需要知道是否会导致另一组令人头疼的问题它已经通过HTTP或HTTPS请求(好吧,它永远不会知道它是HTTPS)。
但后一种方法很棒,因为它为所有已配置的POW .dev
域生成了有效的证书!
所以我构建了 tunnelss,结合了两种方法:它是一个隧道分支,它增加了证书生成!
我希望你会喜欢它,如果你想完成它,请随时发送拉取请求,这只是一个快速破解MacOS X的工作......
Invoker是Pow的绝佳替代品,因为它本身包含HTTPS支持。您不必在Pow之上添加另一个解决方案来获取HTTPS!
然而,与Pow相比,我发现它有两个限制:
这些限制并不难克服,我用pull request进行了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
使用此fork,您将能够使用全局配置,例如~/.invoker.ini
,如下所示:
[my-rails-app]
port = 3000
[my-sinatra-app]
port = 9292
[default]
port = 9292
...并使用此命令将Invoker作为代理运行:
invoker ~/.invoker.ini -d
答案 2 :(得分:7)
POW目前不支持SSL(https://github.com/37signals/pow/issues/5)。然而,许多其他人也有同样的愿望,所以希望它将被包含在未来的版本中!
如果您不想轻松修改代码,那么您最好的替代解决方案是设置Apache并生成开发SSL证书。这将需要修改您的主机文件,并且不像POW那样“光滑”,但从好的方面来说,它避免了讨厌的环境特定条件。
修改强>
最新的更新是POW可以使用Nginx配置SSL,如以下指南所述:
答案 3 :(得分:7)
使用stunnel创建到pow服务器的隧道。
像:
stunnel3 -f -d 443 -r 127.0.0.1:80
答案 4 :(得分:5)
我最近创建了一个使用stud隧道的脚本。 https://gist.github.com/2050941#file_gistfile1.md
答案 5 :(得分:3)
目前有一种方法可以在使用POW时通过nginx设置SSL代理来使用POW。
看看:http://shiny-bits-of-code.tumblr.com/post/4749553253/ssl-proxy-with-nginx
答案 6 :(得分:0)