在瘦服务器上的rails应用程序中启用https



我有一个rails应用程序在heroku上运行瘦服务器。它目前使用http。我想使用https进行机器人程序的开发和生产。我从哪里开始做这件事。

我看过这个railscast,他们展示了如何使用战俘服务器。我不想使用POW服务器,我想使用瘦服务器。

我还看了一下这里:但这里他们认为你已经打开了ssl。

我还没有找到任何地方可以展示如何在瘦服务器上从头开始运行https。

我想知道是否有人有什么建议。

感谢

我不知道你是否需要它,但这对我有帮助:

  thin start --ssl --ssl-verify --ssl-key-file ssllocal/server.key
--ssl-cert-file ssllocal/server.crt

编辑ssl密钥和ssl过滤器的路径。例如,我的钥匙在贝宝文件夹中,所以命令是

    thin start --ssl --ssl-verify --ssl-key-file paypal/server.key
--ssl-cert-file paypal/server.crt

如果您有问题,您可以看看这篇文章-Thin提供SSL支持和ruby调试

希望这能有所帮助。

试试这个:

$ thin start --ssl

如果同时需要ssl和非ssl端口,则需要一个单独的实例。

您应该使用thin来完成:

$ sudo apt-get install thin

并在config/application.rb 中添加此行

config.force_ssl = true

然后使用命令行运行瘦应用程序:

$ thin start --ssl

按照以下步骤操作。。它直接取自令人敬畏的马卡德拉牌。。。我正在粘贴下面的步骤。。但一定要访问页面以获得更好的清晰度。

备注-虽然,这对我没有帮助,因为我想设置https来检查Stripe Google Pay按钮,但由于某些原因无法继续。。。我将尝试使用ngrok来设置https并分享我的最新学习成果。

快速更新-第二天,我尝试了Ngrok并点击链接-https://ngrok.com/download和https://www.sitepoint.com/use-ngrok-test-local-site/我能够成功地测试条纹。

在主目录中创建一个目录.ssl。去那里创建一个自签名证书。输入localhost.ssl作为当被问及通用名称时。这是为了让你的浏览器相信证书由localhost域所有。

将localhost.ssl添加到主机文件

回声;127.0.0.1 localhost.ssl"|sudo tee-a/etc/hosts将初始值设定项附加到config/initializers中。它猴子修补ForceSL模块正在开发中,并包含两个自定义配置设置:use_ssl和ssl_port。

在您的application.rb中,添加config.use_ssl=false。(关闭SSL一般而言。)

在您的环境/production.rb中添加config.use_ssl=true。(打开SSL在生产中。)

在您的环境/development.rb中添加config.use_ssl=true和config.ssl_port=3001。(在开发中打开SSL并指向您的应用程序至端口3001。)

将force_ssl添加到所需的任何控制器。您可以提供:only=>:some_action和:except=>:some_unsaf_action作为选项。

引导精简

瘦启动-p 3001--ssl--ssl密钥文件~/.ssl/server.key--ssl-cert-file~/.ssl/server.crt选项-p告诉thin绑定到端口3001。为了使http开发服务器同时运行,从thin-start-p3000开始。(要使用thin运行应用程序,将gem"thin"添加到您的Gemfile中。)

将浏览器指向http://localhost:3000.你应该被重定向到https://localhost:3001/.如果询问,取消警报。没有它就不会有问题。

链接到Makandra卡-https://makandracards.com/makandra/15903-using-thin-for-development-with-ssl

最新更新