首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Heroku中部署一个Sinatra应用程序

我将在之后的帖子讨论这一部分。请留意生产和开发的环境,Heroku不支持Sqlite。...我们只是需要一个文件来配置我们应用程序的运行方式: 在config.ru你需要以下代码: require '..../main' run Sinatra::Application 通过Git(一种源代码管理系统)可以应用程序部署到Heroku 。...你可以从命令行初始化一个Git仓库: git init 安装Heroku Gem 你还需要Heroku Gem: gem install heroku SSH密钥 你还需要创建SSH密钥,这里为此提供了一些帮助...通过下面的操作将你的密钥连接到Heroku,这会用于与你在Heroku的计算机之间进行安全通信: heroku keys:add 系统会要求你添加你所创建的Heroku帐户的凭据。

2.6K60

部署一个Sinatra应用程序到Heroku

假设您认为本地的应用程序没有问题了,接下来要做的是确保您有下边这些文件: Gemfile config.ru 我在上面的帖子描述的Gemfile包含在应用程序中使用的所有Ruby gems的引用: source...所以我将在稍后的帖子讨论其他知识。像记录生产环境和开发环境的集群。和Heroku不支持Sqlite。 Sinatra是一个构建应用程序的工具,但Heroku不是。...可以用命令行初始化一个Git仓库: git init 安装Heroku Gem 您还需要安装Heroku gem: gem install heroku SSH密钥 您需要去生成SSH密钥。...下面您可以在这里学习怎么生成SSH密钥 当您在命令行环境下,您需要将您的密钥添加到Heroku,以便于在您的电脑和Heroku的计算机之间安全地进行通信: heroku keys:add 系统会要求您添加您创建...Heroku帐户的凭据。

5.1K110
您找到你想要的搜索结果了吗?
是的
没有找到

部署一个Sinatra应用程序到Heroku

假设您对本地应用程序感到满意,接下来要做的是确保您有一些文件: Gemfile config.ru 我在上面的帖子描述的Gemfile包含对应用程序中使用的所有Ruby gems的引用: gem 'sinatra...我将在稍后的帖子讨论这些。记下生产和发展群组。Heroku并不支持Sqlite。 Sinatra是一个Rack应用程序,但Heroku与这些没有任何障碍。...你可以从命令行初始化一个Git仓库: git init 安装Heroku Gem 你还需要Heroku gem: gem install heroku SSH密钥 您将需要创建SSH密钥。...可以在这里学习如何做到这一点 当在命令行时,需要将您的密钥连接到Heroku,以便在Heroku的计算机之间进行安全通信: heroku keys:add 系统会要求您添加您创建Heroku帐户的凭据...创建Heroku应用程序 回到命令行上: heroku create nameofapp nameofapp的位置是根据你想要你的应用程序取什么名决定的,铭记Heroku将用这样的网址创建你的应用程序

2.6K60

GitHub:OAuth 令牌被盗,数十个组织数据被窃

GitHub首席安全官 (CSO) Mike Hanley 透露,这些集成商维护的应用程序会被 GitHub 用户使用,也包括 GitHub 本身。...– Preview (ID:313468) Heroku Dashboard – Classic (ID:363831) Travis CI (ID:9216) 根据描述,GitHub 安全部门 于...4 月 12 日发现攻击者使用泄露的 AWS API 密钥,对 GitHub 的 npm 生产基础设施进行未经授权的访问。...这些API密钥可能就是攻击者使用窃取的 OAuth 令牌下载多个私有 npm 存储库后获得。...虽然攻击者能够从受感染的存储库窃取数据,但 GitHub 认为,npm 使用与 GitHub 完全独立的基础设施, GitHub没有任何包被修改,也没有在攻击中出现访问用户帐户数据或凭证泄露的情况。

56720

10万 npm 用户账号信息被窃、日志中保存明文密码,GitHub安全问题何时休?

同时,这也显示了在 JavaScript 包注册中心整合到 GitHub 的日志系统后,GitHub 在内部日志存储了 “npm 注册中心的一些明文用户凭证”。...自官方在 4 月 12 日首次发现这一活动以来,攻击者已经从几十个使用 Heroku 和 Travis-CI 维护的 OAuth 应用程序的组织访问并窃取数据,其中包括 npm。...5 月 26 日,GitHub 产品安全工程高级总监 Greg Ose 表示,该公司在调查期间发现,攻击者可以获得 npm 的内部数据和客户信息,比如 AWS 访问密钥。...根据北卡罗来纳州立大学的研究,通过对超过 100 万个 GitHub 帐户为期六个月的连续扫描,发现包含用户名、密码、API 令牌、数据库快照、加密密钥配置文件的文本字符串可通过 GitHub 公开访问...切勿凭据和敏感数据存储在 GitHub 上 GitHub 的目的是托管代码存储库。除了设置账户权限外,没有其他安全方法可以确保密钥、私人凭据和敏感数据可以一直处于可控和安全的环境

1.7K20

放弃“免费套餐”,Heroku的遗产又少了一个

今年 4 月,Heroku 还曾发生一起严重的安全事故,社区反应激烈,当时一名攻击者获取了 Heroku 的主数据库(在我们那个时代称为 core-db)的访问权,并泄露了它的内容,包括哈希密码和用于...Heroku 的人气一直都归功于其简洁、优雅和可用性的优势,它率先将重心放在了开发人员的体验上,致力于让部署像开发流程那样无缝流畅。...卖给 Salesforce 算是一种成功? 之前有人在 Twitter 上提出了一个不那么简单的问题:“Heroku 是成功还是失败?” 对此问题,答案分成了两派,正反双方都有很多人参与。...Heroku 使这一问题得到了极大的简化,它使开发者集中精力在构建软件上,而非在配置和运行基础设施上。在当今世界,这显然是一种有利条件,但在那时并非如此。...出口规则的 VPC、带有备选基本镜像或架构的可配置主机。

4.3K40

关于“Python”的核心知识点整理大全64

20.2.15 确保项目的安全 当前,我们部署的项目存在一个严重的安全问题:settings.py包含设置DEBUG=True,它在发生错误时显示调试信息。...这些模板必须放在根模板目录。 1....在本地查看错误页面 在项目推送到Heroku之前,如果你要在本地查看错误页面是什么样的,首先需要在本地设 置设置Debug=False,以禁止显示默认的Django调试页面。...查看错误页面后,DEBUG重新设置为True,以方便你进一步开发“学习笔记”。(在settings.py 中用于Heroku部署的部分,确保DEBUG依然被设置为False)。...然后,使用命令git commit -am "commit message"修改提交到仓库,再使用命令git push heroku master修改推送到Heroku

8510

安全设计】10种保护Spring Boot应用程序的绝佳方法

自2018年7月24日起,谷歌Chrome浏览器HTTP站点标记为“不安全”。虽然这在web社区引起了相当多的争议,但它仍然存在。特洛伊亨特,一位著名的安全研究员,创造了一个为什么没有HTTPS?...如果使用Heroku、Cloud Foundry或其他云提供商,更合理的配置是寻找x - forward - proto头文件。...存储机密安全 密码、访问令牌等敏感信息应谨慎处理。您不能将它们放在周围,不能以纯文本形式传递它们,或者如果将它们保存在本地存储,则不能进行预测。...Vault可以配置为不允许任何人访问所有数据,从而不提供单一的控制点。根密钥库定期使用更改,并且只存储在内存。有一个主开关,当触发时密封你的保险库,阻止它分享秘密,如果发生问题。...构建一个简单的CRUD应用程序 使用Spring Security和Thymeleaf基于角色的访问控制添加到您的应用程序 安全性和API之旅 准备在Heroku上生产一个Spring Boot应用程序

3.6K30

主流 PaaS 平台架构:谷歌GAE、AEB、Cloud Foundry、Heroku

AppEngine Memcache 在架构是一个内存共享实例,充当缓存使用,我们可以身份验证、会话信息等存放在这里来提升 Web 服务器性能。...Version 存放在分布式对象存储区。...在亚马逊云边界的最外端有一个功能强大的DNS 服务器,它会接收用户的域名查询工作,并将后端配置在负载均衡上的正常的服务 IP 返回给用户,在这里它提供了安全可靠的路由功能。...Heroku 打破了日志输出的传统观点,我们一般认为日志是非常重要、不可缺失的,日志以文件的形式存放在本地磁盘,并且有开头、结尾,重视日志文件每一行内容在时间排序上的关联性。...而 Heroku 日志看作一条一条的流式信息,它将这些输出发送到远端,集中管理、预警。 一个 PaaS 平台会提供大量的后端服务组件,包括持久化数据库、邮件 SMTP 服务、消息队列、缓存等。

6.3K20

Django应用上线前有哪些注意事项?如何使用同步或异步容器启动Django应用?

TransactionTestCase:继承自该类的测试用例运行时会直接数据写到数据表,在运行完测试用例之后,会清理掉所有的表数据。用例运行过程可以通过Transaction的提交、回滚。...1、配置生产环境配置 (settings):DEBUG & Secret 相关信息 必须要调整的关键配置: DEBUG:在生产环境设置为 False(DEBUG = False);避免在 web 页面上显示敏感的调试跟踪和变量信息...2、选择 Django App 的托管环境 (IaaS/PaaS,比如阿里云 / AWS/Azure/GAE/Heroku 等等) 密钥的存储和管理: 从配置文件读取,或者从环境变量读取(明文):...os.environ.get('DJANGO_SECRET_KEY', 'xxxxxx') ALLOWED_HOSTS = ["127.0.0.1", "recruit.ihopeit.com", ] 从KMS系统读取配置密钥...生产环境中将提供静态资源服务的功能放在前端的Web服务器上去的,比如Nginx Tengine或者是Apache上,再对于其它的动态请求做URL路由分发转发到后端的容器服务。

1.5K20

Subdomain-Takeover子域名接管原理和利用案例

注意事项: Web浏览器隐式地信任放在DNS解析器返回的任何内容上。这种信任意味着当攻击者获得对DNS记录的控制时,绕过所有Web浏览器安全策略(例如,同源策略)。...如果Heroku不存在应用程序的名称,则将创建应用程序。...此外如果您从未登录过Heroku,系统会要求您提供Heroku帐户电子邮件和密码。请登录然后本地文件推送到Heroku仓库。...值得注意的是,由于这不是常规虚拟主机设置,因此不一定必须在资源设置明确定义配置CNAME记录。...WeiyiGeek. 0x04 安全防御 建议:在绑定第三方域名解析记录的时候,需要了解其业务解析流程并进行CNAME安全配置,如果不使用第三方页面托管服务需要取消其解析记录; 0x05 来源参考

6.2K10

Heroku 上部署 Django 应用

Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我一步一步指导你在Heroku平台上部署一个简单地Django应用。...Git仓库 在部署你的应用到Heroku之前,你需要先将你的代码签入git仓库Heroku提供的git仓库信息可以在你的应用设置页中找到。...- Django - Gunicorn (WSGI服务器) - dj-database-url (一个Django配置工具) - dj-static (一个Django静态文件服务器) (venv)$...这个文件应该被放在manage.py(指定的)文件夹。简单地创建一个ProcFile文件,如下面的一行例子所示。...下面这个例子显示地是配置仅有一个简单远程服务器的例子,它的简称是origin。(假设)你可能已经配置过很多的远程服务器。

1.5K10

容器是未来

-不, 你还是需要虚拟化,因为容器并没有提供完整的安全方案,如果你要以多租户方式运行应用,你还得保证不能脱离沙盒。...好吧,我有点糊涂了,让我梳理一下,有一个东西像虚拟化,称为容器,那么我能在Heroku上用它? -是l, Heroku已经支持docker, 但是我告诉你: Heroku已经死了....-是的, 你必须有能运行你容器的东西,这样你可以在亚马逊EC2实例设置,你CoreOS放于其中,然后运行Docker后台, 然后你就能部署Docker image到其中了....-就是CAP理论 它说你在一致性 可用性和分区容错性三者只能取两个。 OK, 所有数据库都在CAP面前失败了? 那是什么意思? -意思是这些数据库都是狗屎,如Mongo....就这样? -Yes! 你不感到辉煌? 我还是要回到 Heroku. 2333333~

2.7K40

Subdomain-Takeover子域名接管原理和利用案例

注意事项: Web浏览器隐式地信任放在DNS解析器返回的任何内容上。这种信任意味着当攻击者获得对DNS记录的控制时,绕过所有Web浏览器安全策略(例如,同源策略)。...如果Heroku不存在应用程序的名称,则将创建应用程序。...此外如果您从未登录过Heroku,系统会要求您提供Heroku帐户电子邮件和密码。请登录然后本地文件推送到Heroku仓库。...值得注意的是,由于这不是常规虚拟主机设置,因此不一定必须在资源设置明确定义配置CNAME记录。...CNAME安全配置,如果不使用第三方页面托管服务需要取消其解析记录; ---- 0x05 来源参考 https://devi1ex.com/2018/12/14/subdomain-takeover/

3.6K20

在GitLab CI CD上使用SSH密钥

SSH密钥在以下情况下很有用: 您想签出内部子模块 您想使用包管理器(例如Bundler)下载私有包 您想要将应用程序部署到自己的服务器上,例如Heroku 您要执行从构建环境到远程服务器的SSH...支持最广泛的方法是通过扩展.gitlab-ci.yml,SSH密钥注入到构建环境,并且该解决方案可与任何类型的执行程序 (Docker,shell等)一起使用。...公共密钥复制到您想要访问的服务器上(通常在 ~/.ssh/authorized_keys),或者 在访问私有GitLab存储库时将其添加为部署密钥。...验证SSH主机密钥 最好检查私有服务器自己的公用密钥,以确保您不会受到中间人攻击的攻击。万一发生任何可疑事件,您将注意到它,因为作业失败(如果公钥不匹配,则SSH连接失败)。...想要破解?只需对其进行分叉,提交并推送您的更改。稍后,公共跑步者选择更改并开始工作。

2.4K10

腾讯云 API 最佳实践:保护你的密钥

我分享了一个完整的代码,但是没有泄漏我的密钥。我把密钥放在了环境变量里,在代码里读取了密钥的环境变量,这样这份代码可以部署在任意的环境,只要我在那个环境下设置了环境变量,代码就可以运行。...如果你觉得每次登录 Shell 环境都要导出很麻烦,可以将其配置在 ~/.bashrc 文件,下次在登录 Shell 环境时,就会自动导出这两个环境变量了。...除了把密钥放在环境变量,还有其他方式保护密钥?有的,但是未必很友好: 密钥放在配置文件,代码读取配置文件。这是另一种通行的做法,特别是当你在写一个正式的服务时。...不过你的代码就要写死配置文件的路径了,在 Windows 和 Mac 环境下,这些路径很有可能会不同。 密钥放在代码的一个特殊的文件,使用时再去引用。...这会让你分享部分代码时保证安全,但是有些粗心的开发者会把整个项目的代码放在网上,这时候就很危险了。

15.5K120

10分钟拥有自己的Wikipedia

但是没有铁打的员工,总有一天我要展翅高飞离开,那么如何记录的与公司无关的宝贵知识和经验搬运出来?放在txt文件容易误删,放在Google doc里格式不对又无法搜索。这可让我伤透了脑筋。...MediaWiki有700多个配置设置和超过1800个扩展,可以使各种特性被添加或更改。...什么东西应该放在Wiki上? 什么东西都可以。我一开始的时候是遵从在公司的原则,只放技术类的(e.g. Linux Command备忘),后来发现写blog也不错,就开始在上边写blog。...先从https://www.mediawiki.org下载MediaWiki zip包并解压缩到你的电脑上; (optional)注册Heroku账号,使用免费版的host; Heroku git指向解压缩的...具体步骤如下: 注册并登录bitnami(https://app.bitnamihosting.com)和AWS(https://aws.amazon.com); 在AWS Console,添加一个IAM

4K60
领券