如何在 sinatra 上设置 SSL 证书

How to setup an SSL certificate on sinatra

我试图规避 Heroku 的 SSL 政策,该政策强制您以每月 20 美元的价格购买附加组件。理解最好的途径是获取附加组件,我想知道我从附加组件中得到了什么,而你不能用 sinatra 做?从服务器请求证书不会像向服务器发送请求并因此由 sinatra 处理吗?有什么不同以至于无法实施?

因此,如果您通过 herokuapp.com 域访问您的应用程序,heroku over ssl 实际上是免费的。如果您想通过来自自定义域的 ssl 服务您的应用程序,您只需为附加组件付费。因为 heroku 应用程序由 nginx 代理(默认 *.herokuapp.com 证书),在不购买插件的情况下在自定义域中创建 dns 记录会导致证书不匹配,并在人们尝试访问您的网站时出现严重警告地点。该插件允许您添加自定义证书,以便该证书与 CNAME 记录匹配。

尽管有一个免费的解决方法,正如@seph 所说,Cloudflare 非常适合这种情况,因为它提供通用的 SSL 服务。如果你将 SSL 设置为 "Full" 而没有严格的 SSL 检查并强制执行 HSTS(检查仪表板中的加密选项卡),那么你可以对你的 heroku 实例进行安全代理并忽略任何证书不匹配,同时仍然具有完整的,端到端的-结束加密。