You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku部署的Sinatra应用如何正确设置会话密钥环境变量

问题解答

两种配置方式都需要执行,分别对应不同运行环境的变量需求,互不冲突:

1. 本地开发环境配置

  • 如果你仅在本地运行应用,需要在~/.bash_profile(使用zsh终端的话对应~/.zshrc)文件中添加如下代码:
export MY_APP_SECRET=你自定义的足够复杂的随机字符串

添加完成后执行source ~/.bash_profile让配置立即生效,本地启动Sinatra应用时就可以读取到该环境变量,保证localhost环境下会话Cookie正常工作。

小提示:你也可以使用dotenv这类工具,在项目根目录下创建.env文件存储本地环境变量,同时将.env加入.gitignore避免误提交到代码仓库,比修改全局配置文件更灵活。

2. Heroku线上环境配置

  • 如果你需要线上部署的Heroku应用正常运行,需要通过Heroku CLI执行如下命令配置线上环境变量:
heroku config:set MY_APP_SECRET=你自定义的线上专属随机字符串

执行完成后Heroku会自动重启应用加载新的配置,线上环境的会话Cookie即可正常生效。

注意:本地和线上的MY_APP_SECRET不需要保持一致,使用不同的随机字符串安全性更高,避免线上密钥意外泄露。

你当前config.ru中通过ENV['MY_APP_SECRET']读取变量的写法是符合规范的,不需要额外修改。


内容的提问来源于stack exchange,提问作者fullstackplus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:36:03