ruby-on-rails – 在生产中运行我的应用程序时缺少秘密令牌,密钥库

ruby-on-rails – 在生产中运行我的应用程序时缺少秘密令牌,密钥库,第1张

概述我使用Rails 4和 Ruby 2.1并抱歉,但我正在使用Windows 我已经阅读了很多关于这个主题的内容“缺少秘密令牌,秘密密钥库”但实际上我并没有做任何事情. 我不使用Heroku,Git,Puma,Passenger或其他我读过的东西.我只是觉得我可以像往常一样运行rails s而不是像生产那样运行rails -e production,看看我的Web应用程序的生产版本是什么. 但我有错 我使用Rails 4和 Ruby 2.1并抱歉,但我正在使用windows

我已经阅读了很多关于这个主题的内容“缺少秘密令牌,秘密密钥库”但实际上我并没有做任何事情.

我不使用Heroku,Git,Puma,Passenger或其他我读过的东西.我只是觉得我可以像往常一样运行rails s而不是像生产那样运行rails -e production,看看我的Web应用程序的生产版本是什么.

但我有错误“Missing secret_token和secret_key_base for production environment,在config / secrets.yml中设置这些值”

我阅读了使用openSSL的解决方案,导出SECRET_KEY_BASE =<长字符串>但我确实理解这些解决方案.

我认为这是一个与密码连接系统有关的问题我感谢Micheal Hartl的Rails教程.所以禁用了SSL连接.但没有任何改变.

这是我的config / secrets.yml:

production:  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

有人可以解释如何具体解决这个问题吗?

解决方法@H_301_29@ GDMN我很抱歉,每个人都给你这么糟糕的解释和指示.好吧,那么,我们……

首先,每个人都是对的,你不再需要“secret_token”,但你确实需要“secret_key_base”.它的作用是保护您的访问者连接并使您的系统和应用程序更安全.这是一个简单的解释,但您需要在初学者级别担心.

其次,ENV代表“环境变量”,它们在所有 *** 作系统中使用,它们指的是 *** 作系统级别上的变量,这些变量包含您不希望有人试图访问您的站点的信息.例如,在Ruby On Rails中,如果你硬编码secrety_token_base字符串/哈希,那么黑客可以通过使用你的security_token来获取访问权限.我已经看到这种情况发生并且它并不漂亮,如果个人足够熟练,那么他们甚至可以访问您的root / admin帐户.

现在开始全力以赴.我只知道linux方式,我知道你正在寻找windows方法,但这至少应该让你了解如何找到与你的 *** 作系统相关的信息.

您需要做的第一件事是通过运行生成您的secret_token_base

bundle exec rake secret

据我所知,这是您在所有 *** 作系统中执行此 *** 作的方式.运行上面的命令后,控制台将返回一个字符串,您需要复制它.复制后,您将运行以下命令:

export SECRET_KEY_BASE=WhatYouJustcopIEd

然后我们将检查以确保通过运行来设置环境变量SECRET_KEY_BASE:

env | grep -E "SECRET_TOKEN|SECRET_KEY_BASE"

如果您没有设置SECRET_TOKEN,则只能获得KEY_BASE.

如果您想了解更多深度信息,请访问此link,它可能有点过时但大部分仍然相关,概念上它是相同的.祝你在新发现的ROR冒险中好运!一旦掌握了它,它就很有趣!

总结

以上是内存溢出为你收集整理的ruby-on-rails – 在生产中运行我的应用程序时缺少秘密令牌,密钥库全部内容,希望文章能够帮你解决ruby-on-rails – 在生产中运行我的应用程序时缺少秘密令牌,密钥库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1284786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存