有没有一种简单的方法可以让战俘提供https?

| pow很棒,但是我的应用程序中的许多东西都使用https,如果全部都添加“如果不是开发环境”,那将是一件痛苦的事情。是否可以让战俘提供https?     
已邀请:
我发现最简单的方法是使用隧道:https://github.com/jugyo/tunnels
$ gem install tunnels
$ rvmsudo tunnels   # or just use sudo if using rbenv
无需配置。     
选项1:带有隧道的完整战俘 我一直对Tunnels解决方案有疑问,这很不错,但是浏览器会注意到它不安全,例如,在使用CORS时,这会让您头疼。 我已经测试了PowSSL解决方案(使用Stud的解决方案),但是缺少ѭ1,当您的应用程序需要知道它是通过HTTP还是HTTPS请求时,这会导致您头疼。永远不知道这是HTTPS)。 但是后面的方法很棒,因为它正在为所有配置的POW
.dev
域生成一个有效的证书! 因此,我构建了结合了两种方法的隧道:这是隧道的分支,并且增加了证书生成! 我希望您会喜欢它,如果您想完成它,可以随时发送请求请求,它只是MacOS X上的一个快速技巧... 选项2:切换到Invoker(暂时使用我的叉子...) Invoker是Pow的绝佳替代品,因为它本身包含HTTPS支持。您无需在Pow之上添加其他解决方案即可获得HTTPS! 但是,与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
    
使用stunnel创建到pow服务器的隧道。 喜欢:
stunnel3 -f -d 443 -r 127.0.0.1:80
    
POW当前不支持SSL(https://github.com/37signals/pow/issues/5)。但是,其他许多人也有同样的愿望,因此希望将来的版本中会包含它! 如果您不想经历修改代码的麻烦,最好的替代解决方案是设置Apache并生成开发SSL证书。不幸的是,这将需要修改您的主机文件,而不是像POW那样“ \'slick \”,但是从好的方面来说,它避免了讨厌的环境特定条件。 编辑: 最新更新是可以使用Nginx使用SSL配置POW,如以下指南所述: https://gist.github.com/gvarela/928606/     
我最近创建了一个使用双头钉通道的脚本。 https://gist.github.com/2050941#file_gistfile1.md     
当前,有一种方法可以通过nginx设置SSL代理,从而在仍然使用POW的同时使用SSL。 看看:http://shiny-bits-of-code.tumblr.com/post/4749553253/ssl-proxy-with-nginx     
这里也很好地介绍了这一点: http://railscasts.com/episodes/352-securing-an-api     

要回复问题请先登录注册