我试图规避Heroku的SSL政策,它强制您为每月20美元的附加费支付费用。了解最佳路线是获得附加组件,我想知道用sinatra无法实现的附加组件吗?不会向服务器请求证书就像向服务器发送请求并因此被sinatra处理?有什么不同,使得不可能实现?如何在sinatra上设置SSL证书
回答
因此,如果您通过herokuapp.com域访问您的应用程序,那么,heroku over ssl实际上是免费的。如果您想通过自定义域中的ssl为您的应用提供服务,则只需为附加组件支付费用。由于heroku应用程序由nginx代理(具有默认的* .herokuapp.com证书),因此在自定义域中创建dns记录而不购买插件会导致证书不匹配,并在人们试图访问您的网站时显示胖警告。该插件允许您添加自定义证书,以便证书与CNAME记录匹配。
虽然有一个免费的解决方法,正如@seph所说,Cloudflare对于这种情况非常有用,因为它是通用SSL提供。如果您在没有严格SSL检查的情况下将SSL设置为“完整”并强制执行HSTS(检查仪表板中的加密标签),那么您可以对您的heroku实例执行安全代理,并忽略任何证书不匹配,同时仍然具有完整的端到端加密。
另外,我想,回应特定的“为什么我不能只发送证书使用Sinatra“(这真的是Puma/Unicorn/Webrick /一些其他Rack服务器) - 这是因为nginx代理,所有通往您应用程序的网络流量都会通过heroku控制的服务器路由到您的应用程序之前,这是这些证书真正重要的服务器。 – photoionized
那么理论上我不能把我的自定义域名提供者的证书? – thesecretmaster
@thesecretmaster - 域名提供商是指你的DNS提供商吗? DNS和代理服务器是两个完全不同的东西 - Cloudflare恰好恰好将两者与通用SSL混合在一起。如果你想在没有Cloudflare之类的情况下做到这一点,你可以将证书放在你自己的代理服务器上,并让它工作,但此时你必须拥有一台你拥有和管理的服务器......这样的失败使用Heroku的目的... – photoionized
- 1. 为Stripe设置SSL证书(在Wordpress上)
- 2. 如何使用ssl证书设置iis?
- 3. 如何为Express v4.13设置SSL证书?
- 4. lua nginx ssl证书设置
- 5. SslStream的SSL证书设置
- 6. 如何在单个网页上设置2个SSL证书
- 7. SSL证书:如何设置CA来处理证书链?
- 8. 如何为Heroku上的Resque设置SSL证书?
- 9. SSL证书配置
- 10. 如何在Sinatra中设置验证?
- 11. ssl设置需要证书和开发
- 12. appcmd设置站点的SSL证书
- 13. 设置Java SSL ServerSocket使用的证书
- 14. SSL设置:忽略客户端证书
- 15. Apache反向代理设置SSL证书
- 16. 设置SSL(自签名证书)和Tomcat
- 17. 如何在.NET中为SSL连接设置测试证书?
- 18. 无法在NodeJS/expressJS上设置签名SSL证书
- 19. 在Tomcat上设置ssl证书:无效链
- 20. Powershell - 在https绑定上设置SSL证书
- 21. 在IIS7上设置Wilcard SSL证书无主机标题
- 22. 如何配置默认SSL证书在Windows Azure上
- 23. 如何在Tomcat 6上配置SSL证书?
- 24. 如何在Heroku上配置基于主机名的ssl证书?
- 25. 如何在python中验证SSL证书?
- 26. 如何启用和接受HTTPS连接并在GCE上设置SSL证书
- 27. 如何链接SSL证书
- 28. 如何设置本地SSL证书和Rails应用程序?
- 29. 如何设置没有SSL证书的定期付款选项?
- 30. ASP.NET Core + IIS Express如何设置SSL证书
请在下面检查链接,它可能会对您有所帮助。 http://stackoverflow.com/questions/3696558/how-to-make-sinatra-work-over-https-ssl – rajeev